first commit
This commit is contained in:
commit
488a3acab4
28
README.md
Normal file
28
README.md
Normal file
|
@ -0,0 +1,28 @@
|
|||
first add the users that are authorized to the end of usersnorm (BUT KEEP THE EXISTING ONES) (all users that should be on the system)
|
||||
then add any system users that might be unusually tied to the system you are currently working on (extra applications/things i might have missed)
|
||||
|
||||
run the command in "usefulcommands.txt" to list all users, and paste that into userstest (idk why i havent automated this yet, i havent touched this script in like a year lol)
|
||||
|
||||
run "debiandetox.sh", respond yes or no appropriately (read the users you are removing before you remove them, most likely it is a system user that is just there due to an extra program)
|
||||
|
||||
what the script does
|
||||
|
||||
attempts to remove common forbidden applications (outputs the removed applications to removedapps.txt, in order to allow for you to fix your fuckup)
|
||||
|
||||
installs and enables ufw
|
||||
|
||||
changes password settings for users in "/etc/login.defs"
|
||||
|
||||
enables tcp_syncookies in /etc/sysctl.conf
|
||||
|
||||
turns off root login in ssh
|
||||
|
||||
turns on autoupdate (IMPORTANT: SEPERATE FROM GUI AUTOUPDATE)
|
||||
|
||||
attempts to remove users that shouldnt be on the machine (outputs removed users to removedusers.txt)
|
||||
|
||||
installs and enables freshclam (currently borked, but it probably wouldnt give points anyways)
|
||||
|
||||
usually gets around 20 points round 1, 10 points in round 2, 5 points in round 3
|
||||
|
||||
usefulcommands.txt is probably going to help you more than the script tbh
|
125
debiandetox.sh
Normal file
125
debiandetox.sh
Normal file
|
@ -0,0 +1,125 @@
|
|||
#! /bin/bash
|
||||
#CYBERPATRIOT DEBIAN-DETOX MERCER ISLAND RED TEAM SCRIPT v0.2
|
||||
|
||||
sudo apt update
|
||||
sudo apt upgrade
|
||||
|
||||
|
||||
|
||||
#removing packages that match keyword, asking user for confirmation just in case
|
||||
sudo dpkg --get-selections | grep -i 'shark\|hydra\|nginx\|Samba\|snmp\|Nfs\|sendmail\|Xinetd\|crack\|telnet\|apache' | tr -d "[:blank:]" | sed 's/install//g' |
|
||||
while read -r CURRENT_LINE
|
||||
do
|
||||
echo "purge this package $CURRENT_LINE?"
|
||||
read response < /dev/tty
|
||||
if [[ $response =~ ^[Yy]$ ]]
|
||||
then
|
||||
echo "$CURRENT_LINE" >> removedapps.txt
|
||||
yes | sudo apt purge $CURRENT_LINE
|
||||
else
|
||||
echo "skipped removal"
|
||||
fi
|
||||
|
||||
done
|
||||
|
||||
#prints out packages that don't adhere to default ubuntu install
|
||||
LINEA=1
|
||||
LINEB=1
|
||||
|
||||
while read -r CURRENT_LINEA
|
||||
do
|
||||
MATCH=0
|
||||
while read -r CURRENT_LINEB
|
||||
do
|
||||
if [ "$CURRENT_LINEA" == "$CURRENT_LINEB" ]
|
||||
then
|
||||
((MATCH++))
|
||||
fi
|
||||
((LINEB++))
|
||||
done < "packnorm.txt"
|
||||
if [ $MATCH -eq 0 ]
|
||||
then
|
||||
echo "$CURRENT_LINEA is sus"
|
||||
fi
|
||||
((LINEA++))
|
||||
done <<< "$( sudo dpkg --get-selections | tr -d "[:blank:]" | sed 's/install//g')"
|
||||
|
||||
#installs ufw and enables it
|
||||
sudo apt install ufw
|
||||
sudo ufw enable
|
||||
|
||||
#changes the password settings for all the users to be more secure
|
||||
sudo sed -i "s/\(^PASS_MAX_DAYS* *\).*/\1 15/" /etc/login.defs
|
||||
sudo sed -i "s/\(^PASS_MIN_DAYS* *\).*/\1 1/" /etc/login.defs
|
||||
sudo sed -i "s/\(^PASS_WARN_AGE* *\).*/\1 5/" /etc/login.defs
|
||||
|
||||
#turns on cookie protection or some shit idk
|
||||
sudo sed -i "s/\(^net.ipv4.tcp_syncookies*=*\).*/\11/" /etc/sysctl.conf
|
||||
|
||||
#turns off root login in ssh
|
||||
sudo sed -i "s/\(^PermitRootLogin* *\).*/\1 no/" /etc/ssh/sshd_config
|
||||
|
||||
#Turns on autoupdate
|
||||
sudo sed -i 's/\(^APT::Periodic::Update-Package-Lists* *\).*/\1 "1";/' /etc/apt/apt.conf.d/10periodic
|
||||
|
||||
#removes all bad users
|
||||
LINEA=1
|
||||
LINEB=1
|
||||
|
||||
while read -r CURRENT_LINEA
|
||||
do
|
||||
MATCH=0
|
||||
while read -r CURRENT_LINEB
|
||||
do
|
||||
if [ "$CURRENT_LINEA" == "$CURRENT_LINEB" ]
|
||||
then
|
||||
((MATCH++))
|
||||
fi
|
||||
((LINEB++))
|
||||
done < "usersnorm.txt"
|
||||
if [ $MATCH -eq 0 ]
|
||||
then
|
||||
echo "kill the user $CURRENT_LINEA?"
|
||||
read response < /dev/tty
|
||||
if [[ $response =~ ^[Yy]$ ]]
|
||||
then
|
||||
echo "$CURRENT_LINEA" >> removedusers.txt
|
||||
yes | sudo deluser "$CURRENT_LINEA"
|
||||
echo "user $CURRENT_LINEA combusted"
|
||||
else
|
||||
echo "skipped removal"
|
||||
fi
|
||||
fi
|
||||
((LINEA++))
|
||||
done <<< "$(awk -F':' '{ print $1}' /etc/passwd)"
|
||||
|
||||
#removes all non admins
|
||||
LINEA=1
|
||||
LINEB=1
|
||||
|
||||
while read -r CURRENT_LINEA
|
||||
do
|
||||
MATCH=0
|
||||
while read -r CURRENT_LINEB
|
||||
do
|
||||
if [ "$CURRENT_LINEA" == "$CURRENT_LINEB" ]
|
||||
then
|
||||
((MATCH++))
|
||||
fi
|
||||
((LINEB++))
|
||||
done < "sudonorm.txt"
|
||||
if [ $MATCH -eq 0 ]
|
||||
then
|
||||
echo "kill the user $CURRENT_LINEA?"
|
||||
read response < /dev/tty
|
||||
if [[ $response =~ ^[Yy]$ ]]
|
||||
then
|
||||
echo "$CURRENT_LINEA" >> removedusers.txt
|
||||
yes | sudo deluser "$CURRENT_LINEA" sudo
|
||||
echo "user $CURRENT_LINEA has been un-sudoed"
|
||||
else
|
||||
echo "skipped removal"
|
||||
fi
|
||||
fi
|
||||
((LINEA++))
|
||||
done <<< "$(grep '^sudo:.*$' /etc/group | cut -d: -f4)"
|
74
script/debiandetox.sh
Normal file
74
script/debiandetox.sh
Normal file
|
@ -0,0 +1,74 @@
|
|||
#! /bin/bash
|
||||
#CYBERPATRIOT DEBIAN-DETOX MERCER ISLAND RED TEAM SCRIPT v0.2
|
||||
|
||||
sudo apt update
|
||||
sudo apt upgrade
|
||||
|
||||
#removing packages that match keyword, asking user for confirmation just in case
|
||||
sudo dpkg --get-selections | grep -i 'shark\|hydra\|nginx\|Samba\|snmp\|Nfs\|sendmail\|Xinetd\|crack\|telnet\|apache' | tr -d "[:blank:]" | sed 's/install//g' |
|
||||
while read -r CURRENT_LINE
|
||||
do
|
||||
echo "purge this package $CURRENT_LINE?"
|
||||
read response < /dev/tty
|
||||
if [[ $response =~ ^[Yy]$ ]]
|
||||
then
|
||||
echo "$CURRENT_LINE" >> removedapps.txt
|
||||
yes | sudo apt purge $CURRENT_LINE
|
||||
else
|
||||
echo "skipped removal"
|
||||
fi
|
||||
|
||||
done
|
||||
|
||||
#installs ufw and enables it
|
||||
sudo apt install ufw
|
||||
sudo ufw enable
|
||||
|
||||
#changes the password settings for all the users to be more secure
|
||||
sudo sed -i "s/\(^PASS_MAX_DAYS* *\).*/\1 15/" /etc/login.defs
|
||||
sudo sed -i "s/\(^PASS_MIN_DAYS* *\).*/\1 1/" /etc/login.defs
|
||||
sudo sed -i "s/\(^PASS_WARN_AGE* *\).*/\1 5/" /etc/login.defs
|
||||
|
||||
#turns on cookie protection or some shit idk
|
||||
sudo sed -i "s/\(^net.ipv4.tcp_syncookies*=*\).*/\11/" /etc/sysctl.conf
|
||||
|
||||
#turns off root login in ssh
|
||||
sudo sed -i "s/\(^PermitRootLogin* *\).*/\1 no/" /etc/ssh/sshd_config
|
||||
|
||||
#Turns on autoupdate
|
||||
sudo sed -i 's/\(^APT::Periodic::Update-Package-Lists* *\).*/\1 "1";/' /etc/apt/apt.conf.d/10periodic
|
||||
|
||||
#removes all bad users
|
||||
LINEA=1
|
||||
LINEB=1
|
||||
|
||||
while read -r CURRENT_LINEA
|
||||
do
|
||||
MATCH=0
|
||||
while read -r CURRENT_LINEB
|
||||
do
|
||||
if [ "$CURRENT_LINEA" == "$CURRENT_LINEB" ]
|
||||
then
|
||||
((MATCH++))
|
||||
fi
|
||||
((LINEB++))
|
||||
done < "usersnorm.txt"
|
||||
if [ $MATCH -eq 0 ]
|
||||
then
|
||||
echo "kill the user $CURRENT_LINEA?"
|
||||
read response < /dev/tty
|
||||
if [[ $response =~ ^[Yy]$ ]]
|
||||
then
|
||||
echo "$CURRENT_LINEA" >> removedusers.txt
|
||||
yes | sudo deluser "$CURRENT_LINEA"
|
||||
echo "user $CURRENT_LINEA combusted"
|
||||
else
|
||||
echo "skipped removal"
|
||||
fi
|
||||
fi
|
||||
((LINEA++))
|
||||
done <<< "$(awk -F':' '{ print $1}' /etc/passwd)"
|
||||
|
||||
#removes all non admins
|
||||
|
||||
#autoremoves all packages that are no longer required (might break something, but i dont care)
|
1
script/packnorm.txt
Normal file
1
script/packnorm.txt
Normal file
|
@ -0,0 +1 @@
|
|||
|
1
script/sudonorm.txt
Normal file
1
script/sudonorm.txt
Normal file
|
@ -0,0 +1 @@
|
|||
|
67
script/usersnorm.txt
Normal file
67
script/usersnorm.txt
Normal file
|
@ -0,0 +1,67 @@
|
|||
root
|
||||
daemon
|
||||
bin
|
||||
sys
|
||||
sync
|
||||
games
|
||||
man
|
||||
lp
|
||||
mail
|
||||
news
|
||||
uucp
|
||||
proxy
|
||||
www-data
|
||||
backup
|
||||
list
|
||||
irc
|
||||
gnats
|
||||
nobody
|
||||
systemd-network
|
||||
systemd-resolve
|
||||
messagebus
|
||||
systemd-timesync
|
||||
syslog
|
||||
_apt
|
||||
tss
|
||||
uuidd
|
||||
systemd-oom
|
||||
tcpdump
|
||||
avahi-autoipd
|
||||
usbmux
|
||||
dnsmasq
|
||||
kernoops
|
||||
cups-pk-helper
|
||||
rtkit
|
||||
whoopsie
|
||||
sssd
|
||||
speech-dispatcher
|
||||
fwupd-refresh
|
||||
nm-openvpn
|
||||
colord
|
||||
geoclue
|
||||
pulse
|
||||
hplip
|
||||
gdm
|
||||
twellick
|
||||
jplofe
|
||||
pmccleery
|
||||
wbraddock
|
||||
ealderson
|
||||
lchong
|
||||
sswailem
|
||||
pprice
|
||||
sknowles
|
||||
tcolby
|
||||
jchutney
|
||||
sweinsberg
|
||||
sjacobs
|
||||
lspencer
|
||||
mralbern
|
||||
jrobinson
|
||||
gsheldern
|
||||
coshearn
|
||||
jlaslen
|
||||
kshelvern
|
||||
jtholdon
|
||||
belkarn
|
||||
bharper
|
45
usefulcommands.txt
Normal file
45
usefulcommands.txt
Normal file
|
@ -0,0 +1,45 @@
|
|||
quick command list:
|
||||
|
||||
find file:
|
||||
sudo find -name "example"
|
||||
|
||||
lists all users:
|
||||
awk -F':' '{ print $1}' /etc/passwd
|
||||
|
||||
prints all administrator users:
|
||||
grep '^sudo:.*$' /etc/group | cut -d: -f4
|
||||
|
||||
add user to group:
|
||||
sudo usermod -a -G GROUP USERNAME
|
||||
|
||||
remove user from group:
|
||||
sudo deluser USERNAME GROUP
|
||||
|
||||
sign into account of user:
|
||||
sudo su - USERNAME
|
||||
|
||||
change password:
|
||||
passwd
|
||||
|
||||
check if UFW is enabled:
|
||||
sudo ufw status
|
||||
|
||||
enable ufw:
|
||||
sudo ufw enable
|
||||
|
||||
find active services:
|
||||
systemctl list-units --type=service --state=active
|
||||
|
||||
temporarily stop service:
|
||||
sudo service SERVICE stop
|
||||
sudo systemctl stop SERVICE
|
||||
|
||||
remove service:
|
||||
update-rc.d -f SERVICE remove
|
||||
sudo systemctl disable SERVICE
|
||||
|
||||
config ssh:
|
||||
sudo gedit /etc/ssh/sshd_config
|
||||
|
||||
print out whole directory tree with perms, ignoring a few directories:
|
||||
ls -Rl / -I{home,var,tmp}
|
Loading…
Reference in a new issue