Advertisement
Guest User

Untitled

a guest
May 28th, 2017
74
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 4.42 KB | None | 0 0
  1. /*
  2. * Thiz is a fucking lame pop3download
  3. * used to dl mailspool from ur own account,or eventually from hacked acct.
  4. * Pleaze abuse it.
  5. * Thanks.
  6. *
  7. * Author: roy,kreep
  8. */
  9.  
  10.  
  11. #include <stdio.h>
  12. #include <string.h>
  13. #include <sys/socket.h>
  14. #include <sys/types.h>
  15. #include <netinet/in.h>
  16. #include <netdb.h>
  17. #include <unistd.h>
  18. #include <errno.h>
  19.  
  20.  
  21. #define filez "./hackedmail"
  22.  
  23. #define MAX 4096
  24. #define ERR_PREFIX "-ERR"
  25. #define OK_PREFIX "+OK"
  26. #define POP_LIST_COMMAND "LIST\n"
  27. #define POP_END_STRING "\xD\xA.\xD\xA"
  28.  
  29. #define TRUE 1
  30. #define FALSE 0
  31. #define UNDEFINED 2
  32.  
  33. ssize_t Write(int fd, const void *buf, size_t count);
  34. ssize_t Read(int fd, void *buf, size_t count);
  35.  
  36. int is_msg_end(char *buf)
  37. {
  38. char *p;
  39. int found;
  40.  
  41. p = buf + strlen(buf) - strlen(POP_END_STRING);
  42. found = 0;
  43.  
  44. while (p != buf && !isalpha(*p)) {
  45. if (strncmp(p,POP_END_STRING,strlen(POP_END_STRING))==0) {
  46. found = 1;
  47. break;
  48.  
  49. }
  50. p--;
  51. }
  52.  
  53. if (found == 1) return TRUE;
  54. else return FALSE;
  55. }
  56.  
  57. int popretr(int trans,int number){
  58.  
  59. char retstring[4096];
  60. int dick;
  61.  
  62. char tiamo[4096];
  63. int alimit;
  64.  
  65. /* send retr */
  66. bzero(tiamo,sizeof(tiamo));
  67. sprintf(retstring,"retr %d\n",number);
  68. dick = Write(trans,retstring,strlen(retstring));
  69. bzero(retstring,sizeof(retstring));
  70.  
  71. /* read message */
  72. dick = read(trans,tiamo,sizeof(tiamo));
  73. tiamo[dick] = '\0';
  74. Write(1,tiamo,dick);
  75.  
  76. while (is_msg_end(tiamo) != TRUE) {
  77. bzero(tiamo,sizeof(tiamo));
  78. dick= read(trans,tiamo,sizeof(tiamo));
  79.  
  80. tiamo[dick] = '\0';
  81.  
  82. Write(1,tiamo,dick);
  83. }
  84.  
  85. printf("hello spank spank\n");
  86.  
  87. alimit = number;
  88. return(0);
  89.  
  90. }int datashow(int trans){
  91.  
  92. FILE *hax0r;
  93.  
  94.  
  95. int blah;
  96. char tempbuf[313376];
  97.  
  98. bzero(tempbuf,sizeof(tempbuf));
  99.  
  100. blah = read(trans,tempbuf,sizeof(tempbuf));
  101. if (blah < 0) perror("read");
  102.  
  103. Write(1,tempbuf,blah);
  104.  
  105.  
  106. bzero(tempbuf,sizeof(tempbuf));
  107. return(blah);
  108. }
  109.  
  110. int con(char * ip,unsigned short port ){
  111.  
  112. int sck;
  113. int get;
  114. struct hostent * he;
  115. struct sockaddr_in dest;
  116.  
  117. if ( (sck = socket(PF_INET,SOCK_STREAM, IPPROTO_TCP)) < 0){
  118. perror("socket");
  119. }
  120.  
  121. dest.sin_family = PF_INET;
  122. dest.sin_port = htons(port);
  123. memset(&(dest.sin_zero),'\0',8);
  124.  
  125. /* resolve address */
  126. he = gethostbyname(ip);
  127. if (he==NULL) {
  128. if (errno!= 0)
  129. perror("gethostbyname");
  130. else {
  131. if (h_errno == HOST_NOT_FOUND)
  132. fprintf(stderr,"Host not found: %s\n",ip);
  133. fprintf(stderr,"gethostbyname(%s) failed.",ip);
  134. }
  135. return -1;
  136. }
  137. memcpy(&dest.sin_addr, he->h_addr, he->h_length);
  138.  
  139.  
  140. if( (get= connect(sck,(struct sockaddr *)&dest,sizeof(dest))) < 0){
  141. printf("Port seems to be closed, fuck u admin \n");
  142. perror("connect");
  143. }
  144. return(sck);
  145.  
  146. }
  147. void usage(char *argv0)
  148. {
  149. printf("[x]Author: roy [x]\n");
  150. printf("[x]%s IP port user pass[x]\n",argv0);
  151. printf("[x]crimelords[x]\n");
  152. }
  153.  
  154.  
  155.  
  156.  
  157.  
  158. int main(int argc,char **argv)
  159. {
  160. int limit,ehe;
  161.  
  162.  
  163. char *username=argv[3];
  164. char *password=argv[4];
  165. char magicstring[4096];
  166. char bufu[4096];
  167. char bufp[4096];
  168. int ricevi,sent;
  169. int sock = socket(PF_INET,SOCK_STREAM, IPPROTO_TCP);;
  170. u_long addr;
  171. int port;
  172.  
  173. /* Check Args */
  174. if (argc != 5){
  175. usage(argv[0]);
  176. return -1;
  177. }
  178.  
  179. return downloadmail(argv[1],atoi(argv[2]),argv[3],argv[4]);
  180. }
  181. int goodresponse(char *buf)
  182. {
  183. char buf2[10];
  184. char *p;
  185.  
  186. bzero(buf2,sizeof(buf2));
  187. strncpy(buf2,buf,4); //enough to get -ERR or +OK
  188.  
  189. buf2[4] = '\0';
  190. //strip garbage
  191. p = buf2+3;
  192. while (p != buf2) {
  193. if (!isalpha(*p) && !isdigit(*p) && !ispunct(*p)) *p = '\0';
  194. p--;
  195. }
  196.  
  197. if (strcmp(buf2, ERR_PREFIX) == 0) return FALSE;
  198. else if (strcmp(buf2,OK_PREFIX) == 0) return TRUE;
  199.  
  200. return UNDEFINED;
  201. }
  202.  
  203. int popauth(int sock, char *user, char *pass)
  204. {
  205. char bufu[MAX],bufp[MAX], buf[MAX];
  206. int ret;
  207.  
  208. /* check args before doing anything else */
  209. if (strlen(user) >= sizeof(bufu) ||
  210. strlen(pass) >= sizeof(bufp)) {
  211. fprintf(stderr, "username or password too long dumbass\n");
  212. return -1;
  213. }
  214.  
  215. /* auth */
  216. sprintf(bufu,"USER %s\n",user);
  217. sprintf(bufp,"PASS %s\n",pass);
  218.  
  219. printf("We are connecting to host using this %s",bufu);
  220.  
  221. Write(sock,bufu,strlen(bufu)); //send username
  222. datashow(sock);
  223.  
  224. Write(sock,bufp,strlen(bufp)); //send password
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement