渗入基本——命令行下装置Microsoft .NET Framework | 申博官网
登录
  • 欢迎进入申博官网!
  • 如果您觉得申博官网对你有帮助,那么赶紧使用Ctrl+D 收藏申博官网并分享出去吧
  • 这里是申博官方网!
  • 申博官网是菲律宾sunbet官网品牌平台!
  • 申博开户专业品牌平台!

渗入基本——命令行下装置Microsoft .NET Framework

申博_安全预警 申博 60次浏览 已收录 0个评论

申博sunbet官网

申博sunbet官网现已开放申博Sunbet网游戏手机版下载,进入官网申博sunbet官网即可进行申博手机APP下载,手机版操作更便捷,随身携带可随时随地享受游戏乐趣,手机版与电脑客户端差别不大,两者皆能为用户带来很好的娱乐时光,让客户第一时间掌握各种游戏信息,拥有更好的游戏体验感,是申博sunbet官网运营的原则,给你最简单的快乐,和你一起娱乐,让快乐成为联系你我的纽带,为你带来不一样的感觉!

,

0x00 媒介

在渗入测试中,有些东西的运转(比方高版本的Powershell)须要依靠Microsoft .NET Framework 4.0的环境。 而默许设置下,Win7不支撑Microsoft .NET Framework 4.0。为了保证东西能够在Win7下运用,这里就须要在敕令行下完成装置Microsoft .NET Framework 4.0。

经由一番搜刮,我没有找到引见敕令行下装置Microsoft .NET Framework的材料。

因而我写了这篇文章,引见我的完成要领,开源C代码,分享完成道理和剧本开辟的细节。

0x01 简介

本文将要引见以下内容:

· Win7下装置Microsoft .NET Framework 4.0的一般要领

· 敕令行下的完成要领

· 完成道理

· 剧本开辟的细节

0x02 Win7下装置Microsoft .NET Framework 4.0的一般要领

Microsoft .NET Framework的装置包分为两种:

(1)Web Installer

下载地点:

https://www.microsoft.com/en-us/download/details.aspx?displaylang=en&id=17851

Web Installer的文件很小,在装置历程当中须要Internet衔接来下载其他所需的.NET Framework组件

(2)Standalone Installer

下载地点:

https://www.microsoft.com/en-US/Download/confirmation.aspx?id=17718

Standalone Installer的文件相对来说会很大,由于它包含了完全的组件,在装置历程当中不须要Internet衔接。

这里以Standalone Installer为例,一般的流程以下:

1.下载Standalone Installer

取得文件dotNetFx40_Full_x86_x64.exe。

2.运转dotNetFx40_Full_x86_x64.exe

弹出对话框,挑选赞同协定后点击Install按钮。

以下图:

渗入基本——命令行下装置Microsoft .NET Framework

3.守候装置历程

以下图:

渗入基本——命令行下装置Microsoft .NET Framework

4.装置完成,弹出对话框

以下图:

渗入基本——命令行下装置Microsoft .NET Framework

点击Finish按钮进入下一步。

5.再次弹出对话框,提醒挑选是不是重启体系

以下图:

渗入基本——命令行下装置Microsoft .NET Framework

警惕来自节假日的祝福:APT攻击组织”黑格莎(Higaisa)”攻击活动披露

一、概述 腾讯安全御见威胁情报中心曾经在2019年年初捕获到一次有意思的攻击活动,该攻击活动一直持续到现在。根据对该组织活动中所使用的攻击技术、被攻击人员背景等分析研判,我们认为该攻击组织为来自朝鲜半岛的一个具有政府背景的APT攻击组织。 根

在体系重启后,完成一切装置事情。

0x03 敕令行下的完成要领

这里引见我最最先的思绪:

1.我们能够经由过程向装置顺序的面板发送按键音讯来模仿用户的点击行动

2.为保证在敕令行下装置,须要对弹出的对话框发送隐蔽窗口的音讯

3.为保证按键正确,这里不应该采纳盘算坐标的要领模仿鼠标点击,而是罗列窗口取得按钮的句柄,向目的句柄发送鼠标点击的音讯

为了考证我的思绪,起首须要编写顺序检察是不是能够取得每一个装置页面的按钮句柄。

我写了以下C代码:

#include <afx.h> #include <Windows.h> BOOL CALLBACK EnumChildWindowProc(HWND Child_hWnd, LPARAM lParam) { WCHAR szTitle[1024]; if (Child_hWnd) { GetWindowText(Child_hWnd, szTitle, sizeof(szTitle)); printf("[*] Handle: %08X\n", Child_hWnd); printf("[*] Caption: %ws\n", szTitle); return true; } return false; } int _tmain(int argc, _TCHAR *argv[]) { HWND hWnd3 = FindWindow(NULL, L"Microsoft .NET Framework 4 Setup"); if (hWnd3 == NULL) { printf("[!] I can't find the main window.\n"); return 0; } EnumChildWindows(hWnd3, EnumChildWindowProc, 0); return 0; }

关于第一个装置页面,运用顺序来罗列一切子窗口,输出句柄和题目,以下图:

这里须要注重Install按钮,默许为disable状况,假如想要进入下一步,须要先将Install按钮设置为enable状况,再发送鼠标点击的音讯。

在代码完成上加上一个if推断来完成,症结代码以下:

if (wcscmp(szTitle, L"&Install") == 0) { printf("[+] Catch it!\n"); printf("[*] Handle: %08X\n", Child_hWnd); printf("[*] Caption: %ws\n", szTitle); printf("[*] Enable the Install button.\n"); EnableWindow(Child_hWnd, TRUE); printf("[*] Send the click command to &Install.\n"); ::PostMessage(Child_hWnd, WM_LBUTTONDOWN, MK_LBUTTON, MAKELPARAM(0,0)); ::PostMessage(Child_hWnd, WM_LBUTTONUP, MK_LBUTTON, MAKELPARAM(0, 0)); }

完成这一步后我们进入下一步,守候装置完毕后进入第二个页面,一样罗列一下一切子窗口,以下图:

渗入基本——命令行下装置Microsoft .NET Framework

渗入基本——命令行下装置Microsoft .NET Framework

我们看到,之前页面的子窗口还在,我们须要向Finish按钮发送鼠标点击音讯,症结代码以下:

if (wcscmp(szTitle, L"&Finish") == 0) { printf("[+] Catch it!\n"); printf("[*] Handle: %08X\n", Child_hWnd); printf("[*] Caption: %ws\n", szTitle); printf("[*] Send the click command to &Finish.\n"); ::PostMessage(Child_hWnd, WM_LBUTTONDOWN, MK_LBUTTON, MAKELPARAM(0, 0)); ::PostMessage(Child_hWnd, WM_LBUTTONUP, MK_LBUTTON, MAKELPARAM(0, 0)); }

接下来进入末了一步,再一次罗列一切子窗口,以下图:

渗入基本——命令行下装置Microsoft .NET Framework

我们看到,页面的子窗口被革新,在顺序完成上这里须要从新取得主窗口的句柄,我们向Restart Later按钮发送鼠标点击音讯,症结代码以下:

if (wcscmp(szTitle, L"Restart &Later") == 0) { printf("[+] Catch it!\n"); printf("[*] Handle: %08X\n", Child_hWnd); printf("[*] Caption: %ws\n", szTitle); printf("[*] Send the click command to Restart &Later.\n"); ::PostMessage(Child_hWnd, WM_LBUTTONDOWN, MK_LBUTTON, MAKELPARAM(0, 0)); ::PostMessage(Child_hWnd, WM_LBUTTONUP, MK_LBUTTON, MAKELPARAM(0, 0)); }

至此,症结的完成代码已完成。

而要完全的完成在敕令行下装置Microsoft .NET Framework,还须要斟酌以下题目;

1.当启动装置顺序dotNetFx40_Full_x86_x64.exe前,须要搜检装置环境,假如已存在另一个装置历程,那末会弹框提醒争执

以下图:

渗入基本——命令行下装置Microsoft .NET Framework

这里须要在启动前做一个推断:假如存在另一个装置历程,就完毕装置操纵。

2.当启动装置顺序dotNetFx40_Full_x86_x64.exe时,会启动子历程Setup.exe,这里没法做到经由过程设置启动参数隐蔽启动历程Setup.exe来隐蔽窗口

这里须要加一个轮回推断,只需发明主窗口就对其隐蔽。

为了防止CPU占用过量,在做while轮回时,应该加一个Sleep函数。

3.启动装置顺序后须要模仿鼠标点击

须要注重的是,接下来的装置历程当中,子窗口Install(名称为&Install)会一向存在,为了防止反复向Install按钮发送点击音讯,在完成上我运用了第二个函数来婚配其他按钮。

4.装置完成后,弹出新的窗口提醒装置胜利,捕捉子窗口,向其发送鼠标按键的敕令

这里捕捉的子窗口名称为&Finish。

5.接下来,弹框提醒是不是从新启动体系时,须要经由过程FindWindow()从新取得句柄

这里能够放在第二个函数的同一个轮回中,当发明子窗口Restart &Later时,向其发送鼠标按键的敕令。

须要注重弹出的窗口为新窗口,不能运用之前的窗口句柄,须要经由过程FindWindow()从新取得句柄。

完全完成代码已开源,地点以下:

https://github.com/3gstudent/Homework-of-C-Language/blob/master/Install_.Net_Framework_from_the_command_line.cpp

代码支撑敕令行下装置Microsoft .NET Framework 4、Microsoft .NET Framework 4.5和Microsoft .NET Framework 4.5.1

0x04 小结

本文引见了经由过程发送鼠标音讯在敕令行下装置Microsoft .NET Framework的要领,开源C代码,分享完成道理和剧本开辟的细节。

原文地点: https://www.4hou.com/penetration/21395.html


申博|网络安全巴士站声明:该文看法仅代表作者自己,与本平台无关。版权所有丨如未注明 , 均为原创丨本网站采用BY-NC-SA协议进行授权
转载请注明渗入基本——命令行下装置Microsoft .NET Framework
喜欢 (0)
[]
分享 (0)
发表我的评论
取消评论
表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址