Tuesday, 3 September 2013

PayPal spam leads to malware cocktail



Interesting spammail in one of the traps today, something wrong with your variables, malware authors? :-)

Subject: With your balance was filmed - 300 $ -Resolution of case #PP-025-851-848-207













Content of email:
ID

Transaction: {figure } {SYMBOL }

With your balance was filmed : - 500 $

                                                           -20 $

                                                           -49 $
---------------------------------------------------------------------

Balance is:                                      625 $

For more information, please see page View all history

Sincerely,

Please do not reply to this email. This mailbox is not monitored and you will not receive a response. For assistance, log in to your PayPal account and click the Help link in the upper right corner of any page PayPal.

Copyright © 1999-2013 PayPal. All rights reserved.

PPID PP {DIGIT }


From:  service@int.paypal.com
Source IP: 96.10.192.31 - IPvoid Result
Botnet: Cutwail spambot

Malicious URL (active):
hXXp://dailyreport.cffy88.com/project/index.htm 


WhoIs information:
Domain Name ..................... cffy88.com
Sponsoring Registrar ............ HICHINA ZHICHENG TECHNOLOGY LTD.
Name Server ..................... dns29.hichina.com && dns30.hichina.com
Registrant ID ................... hc590857663-cn
Registrant Name ................. vinson luk
Registrant Organization ......... shenzhenshi caifufengyun keji youxian gongsi
Registrant Address .............. Rm.3-33C Dijingfeng Maoyecheng Dafen Buji, Longgang District
Registrant City ................. shenzhen
Registrant Province/State ....... guangdong
Registrant Postal Code .......... 518000
Registrant Country Code ......... CN
Registrant Phone Number ......... +86.075533572855 
Registrant Fax .................. +86.075584153080 
Registrant Email ................ vinsonluk@hotmail.com

More malware is hosted on cfyy88.com as well, including a ZIPfile which is currently empty. (Error from the malware authors? Uploaded too soon, dropper just not included yet?)

Related websites:
hXXp://erpii.cn/
hXXp://jiami99.com/
hXXp://verp.cc/
hXXp://greatempire.cn/

Hosted on: 211.154.134.171 - IPvoid Result 


Interesting login page











Other screenshots:

















The link from the spammail loads malicious JAR file:
MD5: 6b872d170e878ab3749d717cbba5d0e3
VirusTotal Result
Exploit-Analysis Result

Exploit-Analysis is a new service and looks very promising, besides doing the basic stuff (meta-data dump, strings, tcpdump, ...) you can also view the entropy of the malware, as well as choosing browsertype and Java/Flash/Adobe version. In particular for JAR files, it can also display the classes included and thus can be used to analyze a malicious Jar file online (you can do this offline with JD-GUI for example).

From their website:
Sandy developed under Indian Honeynet and is capable of doing both static and dynamic analysis of Malicious Office, Jar,HTML files at the moment.


Continuing with our findings, the following files were downloaded & dropped to the system:
about.exe    098e44145840862b9488be395c860110   
index.html   325a20d15d66e5a78878da2ff579a715   
readme.exe  523a813fa43744673bdb537d778d0e3f   
w8BDM.exe   5c840a17dcee119cf40a3636971de65c   
able_disturb_planning.jar   6b872d170e878ab3749d717cbba5d0e3   
tixy.exe      82f1d0ed26012f0883cb6017aa8fb671   
able_disturb_planning.php  be3db7ef10eca3a21878cbad80eb5f2d   
pythias.js   d60b2df2b5c6c1ef083766cba29b60d2   
JpVsf.exe   f804ad6fe5b2a0ae3078703fdc112e29   


Besides the usual infostealers (Zbot, Fareit, etc.), Medfos is saying "hello" as well:
Win32/Medfos is a family of trojans that install malicious extensions for Internet browsers and redirect search engine results. It also allows for click-fraud, generating profit for a website through unethical means.
Source: http://www.microsoft.com/security/portal/threat/encyclopedia/entry.aspx?Name=Win32/Medfos



Conclusion


  • Don't click on links from unknown senders.
  • Don't open any attachment(s) of unknown senders. 
  • In fact, don't even open mail from unknown senders.
  • Don't be fooled by mail spoofing, you can view the real source by right-clicking your mail and choosing "View Source". (This depends on your mailclient though.)
  • Install an antivirus and antimalware product and keep it up-to-date & running.
  • When in doubt, visit the website of §vendor or §product or §service directly.
  • Block the IPs mentioned above in your firewall or hostfile or §solution.
  • I almost forgot: uninstall Java.



Possibly the most simple jQuery Slider

Do you have jQuery in your site or blog and space to insert 10 lines of code? If the answer is yes, and you want to have an automatic slideshow, this is the simplest code I've seen so far. So, having a succession of images added inside a box with a common general container, would give this result:
jquery slider for blogger, slideshows


Related: Image Slider using only CSS

How to add a Simple jQuery Slider to Blogger

Step 1. Adding the JavaScript

If you don't have jQuery, then you should add this line just above the </head> tag to make the slideshow work:
<script src='http://ajax.googleapis.com/ajax/libs/jquery/1.8/jquery.min.js' type='text/javascript'/>
Where the </head> tag can be found? Go to Template > Edit HTML > click anywhere inside the code area and press the CTRL + F keys. Inside the search box, type this tag and hit Enter to find it:
</head>

Once confident that you have the library in your template, let's add the below script as well, which will make the set of images load as a slider:
<script type="text/javascript">//<![CDATA[
$(function(){
    $('#slider div:gt(0)').hide();
    setInterval(function(){
      $('#slider div:first-child').fadeOut(0)
         .next('div').fadeIn(1000)
         .end().appendTo('#slider');}, 4000);
});
//]]></script>
Finally, save the changes by clicking the "Save Template" button. And now, that we finished adding the scripts, let's add the images to where we want to show...

2. Create/Add the HTML for the Slider

After implementing the above scripts in the template (although, we could add them directly into a gadget, on a page or even inside the post HTML), we will create the slider like the one above.

Use the following HTML structure to show the image slider:
<div id="slider">
    <div><img src="IMAGE_URL"/></div>
    <div><img src="IMAGE_URL"/></div>
    <div><img src="IMAGE_URL"/></div>
</div>
- as a gadget: go to Layout, click "Add a gadget" and choose the "HTML/JavaScript" option
- inside a post/page: create a new post and paste the code inside the HTML box.

So this is all you need. For me, it is quite lightweight and efficient, much more than most libraries that are used nowadays - perhaps, too often.

jQuery Slider Settings

The last three numbers of this slider will allow us to adjust some things. All of them are expressed in milliseconds (4000 = 4 seconds):

fadeOut(0): Time for the outgoing image
fadeIn(1000): Time for the next image
('#slider');},4000): Time spent in each image

How it Works

$('#slider div:gt(0)').hide();
With gt(x) we select all the divs from the number (x). In this case, 0 is the first, so what this line does is to hide (hide()) all the boxes - except the first, that will be the image visible initially.

setInterval(function(){ [what we will do] }, 4000);
We need to reiterate a few things from time to time and we can accomplish this with setInterval - the delay time between each set.

$('#slider div:first-child').fadeOut(0)
Within each of these intervals, we remove (fadeOut) the first box (div:first-child) with a fade out effect, so that images are out of visibility...

.next('div').fadeIn(1000)
...and make the following box (next) to appear gradually (fadeIn).

.end().appendTo('#slider');
Finally, this will show the first image and will move it to the end (appendTo) of the "list".

end() resets the number of elements that we move forward with next(). Thus, the first child made earlier to disappear, is the one that is sent down the stack, and not the image that is currently visible.

3. Customizing the Slider

Even though, we don't need CSS to make the slider work, we can still change its look to display images in different sizes, include captions, or even improve the transition. Here are some ideas:

Text 1
Text 2
Text 3
This is a long text 4

In the above example, we limited the size of the container and prevented the overflow of larger images. Finally, we added rounded borders and centered the slider.
#slider {
overflow: hidden;
width: 500px;
height: 300px;
border:3px solid #242424;
border-radius: 40px;
margin: 0 auto;
padding: 0;
position: relative;
}
If we would have made the parent box of the images positioned absolutely, they would have overlapped each other. For this reason, we have set the "position" of the container to "relative".

As for the images, we will set the width to 100% to make them fill the entire container and the min-height to 300px, to fill up all the available height of the parent box, so that there will be no empty space around them.
#slider > div {
position:absolute;
top:0;
left:0;
}
#slider img {
width:100%;
min-height:300px;
margin:0;
padding:0;
border:0;
}
To add more elements like a text or caption, we will enclose the text in span tags and will set the position to "absolute". And to make the text appear at the bottom of the image, we will use the bottom property:
#slider span {
position: absolute;
bottom: 17px;
display: block;
width: 100%;
margin:0;
padding: 15px 0;
color: #fff;
background: #242424;
font-size: 18px;
line-height:18px;
text-align:center;
}
If you want change the look of this slider - go to Template, hit the Customize button and click on the Advanced > Add CSS tab and paste the above CSS codes inside the empty box.

The HTML markup for this last example, would look like this:
<div id="slider">
<div><a href="Link_URL1"><img src="Image_URL1" /></a><span>TEXT1</span></div>
<div><a href="Link_URL2"><img src="Image_URL2" /></a><span>TEXT2</span></div>
<div><a href="Link_URL3"><img src="Image_URL3" /></a><span>TEXT3</span></div>
</div>
Please note that if you add it inside the post's HTML, don't switch back to the compose tab, as this might remove the span tags of the image captions and the text might not be displayed properly.

Monday, 2 September 2013

Today: Glamour, or how to hide irony about gender stereotypes very well...

Or something like that... because as much as I think FOSS games should cater to the other ermm... 2nd out of three(?) gender, I am not sure if this is meant ironic or not (description of the game Glamour):
You are Maddeline, a young princess just turned 16. Now you're old enough to attend the royal balls and your fairy godmother will help you get ready for the most exciting dances.
Watch out your way while walking around this amazing city full of filthy foes. They may harm your look. You wouldn't like to reach the ball all covered with dirt.
Visit the Make-up, Shoe, Dress and Accessory Castle to find the most beautiful outfits and win the Prince Charming heart.
At least I see relatively little pink on that screen-shot...
Source-code is available here for those that wonder...

*stalkes slowly away*

But -BAM-... here is something clearly more manly:

Unvanquished Alpha 19
-BAM- check the alpha 19 changelog -BAM- Oh and the soon to released AlienArena Tactical also sound like a game for -BAM- real men!

Hmm BAM?

Save data into file

To save data into file in an android application, you have to follow the steps given bellow.

1. Create an object of the FileOutputStream class using the openFileOutput method.
    Example :  
                   FileOutputStream fou = openFileOutput("text.txt", MODE_WORLD_READABLE);
  
   Here text.txt is the name of the file. You can use any of the file opening mode
   a.    MODE_PRIVATE  :  File is accessible by only the application that create it.
   b.    MODE_APPEND :  Appending an existing file.
   c.    MODE_WORLD_WRITABLE : Allow write permission to all the applications. 

2. Get an object of the OutPutStreamWriter class using the FileOutputStream object.
    Example:
                 OutputStreamWriter osw = new OutputStreamWriter(fou);

3. Write the data using the write() method.
   Example:
                 osw.write(Message);

4. For reading the data from the file, first you need to create an object of the FileInputStream class.
   Example:
                 FileInputStream fis = openFileInput("text.txt");

5. Get an object of the InputStreamReader class .
   Example:
                InputStreamReader isr = new InputStreamReader(fis);

6. Finally read the data from the file as separate block of data having fixed size.

             





activity_main.xml
1:  <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"  
2: xmlns:tools="http://schemas.android.com/tools"
3: android:layout_width="match_parent"
4: android:layout_height="match_parent"
5: android:paddingBottom="@dimen/activity_vertical_margin"
6: android:paddingLeft="@dimen/activity_horizontal_margin"
7: android:paddingRight="@dimen/activity_horizontal_margin"
8: android:paddingTop="@dimen/activity_vertical_margin"
9: tools:context=".MainActivity" >
10: <EditText
11: android:id="@+id/msg"
12: android:layout_width="wrap_content"
13: android:layout_height="wrap_content"
14: android:layout_alignParentTop="true"
15: android:layout_centerHorizontal="true"
16: android:layout_marginTop="20dp"
17: android:ems="10"
18: android:hint="Enter a message"
19: >
20: <requestFocus />
21: </EditText>
22: <Button
23: android:id="@+id/LOAD"
24: android:layout_width="wrap_content"
25: android:layout_height="wrap_content"
26: android:layout_alignLeft="@+id/SAVE"
27: android:layout_below="@+id/SAVE"
28: android:layout_marginTop="46dp"
29: android:text="LOAD DATA" />
30: <Button
31: android:id="@+id/SAVE"
32: android:layout_width="wrap_content"
33: android:layout_height="wrap_content"
34: android:layout_below="@+id/msg"
35: android:layout_centerHorizontal="true"
36: android:layout_marginTop="23dp"
37: android:text="SAVE DATA" />
38: </RelativeLayout>

MainActivity.java
1:  package com.filedemo;  
2: import java.io.FileInputStream;
3: import java.io.FileNotFoundException;
4: import java.io.FileOutputStream;
5: import java.io.IOException;
6: import java.io.InputStreamReader;
7: import java.io.OutputStreamWriter;
8: import android.app.Activity;
9: import android.os.Bundle;
10: import android.view.Menu;
11: import android.view.View;
12: import android.view.View.OnClickListener;
13: import android.widget.Button;
14: import android.widget.EditText;
15: import android.widget.Toast;
16: public class MainActivity extends Activity {
17: Button save,load;
18: EditText message;
19: String Message;
20: int data_block = 100;
21: @Override
22: protected void onCreate(Bundle savedInstanceState) {
23: super.onCreate(savedInstanceState);
24: setContentView(R.layout.activity_main);
25: save=(Button) findViewById(R.id.SAVE);
26: load = (Button) findViewById(R.id.LOAD);
27: message = (EditText) findViewById(R.id.msg);
28: save.setOnClickListener(new OnClickListener() {
29: @Override
30: public void onClick(View v) {
31: // TODO Auto-generated method stub
32: Message = message.getText().toString();
33: try {
34: FileOutputStream fou = openFileOutput("text.txt", MODE_WORLD_READABLE);
35: OutputStreamWriter osw = new OutputStreamWriter(fou);
36: try {
37: osw.write(Message);
38: osw.flush();
39: osw.close();
40: Toast.makeText(getBaseContext(), "Data saved", Toast.LENGTH_LONG).show();
41: } catch (IOException e) {
42: // TODO Auto-generated catch block
43: e.printStackTrace();
44: }
45: } catch (FileNotFoundException e) {
46: // TODO Auto-generated catch block
47: e.printStackTrace();
48: }
49: }
50: });
51: load.setOnClickListener(new OnClickListener() {
52: @Override
53: public void onClick(View v) {
54: // TODO Auto-generated method stub
55: try {
56: FileInputStream fis = openFileInput("text.txt");
57: InputStreamReader isr = new InputStreamReader(fis);
58: char[] data = new char[data_block];
59: String final_data="";
60: int size;
61: try {
62: while((size = isr.read(data))>0)
63: {
64: String read_data = String.copyValueOf(data, 0, size);
65: final_data+= read_data;
66: data = new char[data_block];
67: }
68: Toast.makeText(getBaseContext(), "Message :"+final_data, Toast.LENGTH_LONG).show();
69: } catch (IOException e) {
70: // TODO Auto-generated catch block
71: e.printStackTrace();
72: }
73: } catch (FileNotFoundException e) {
74: // TODO Auto-generated catch block
75: e.printStackTrace();
76: }
77: }
78: });
79: }
80: @Override
81: public boolean onCreateOptionsMenu(Menu menu) {
82: // Inflate the menu; this adds items to the action bar if it is present.
83: getMenuInflater().inflate(R.menu.main, menu);
84: return true;
85: }
86: }


Friday, 30 August 2013

AUD/USD 1st September 2013 Monthly Reports

AUD Primary & Monthly cycles

Primary cycles suggests the AUD will continue down into the Yearly lows in 2014, as part of the Dilernia Principle of break & extend Patterns.

Currently that same pattern in the Quarterly cycles has played out, and this is where Support has formed during this Quarter around .8870 from 1.0137

We can also see the monthly cycles resistance zones, and this may continue during the last month in September @ .9179 and see the trend push lower in the 4th Quarter towards those Yearly lows in 2014.

However,  never discount a larger rotation upwards in the 4th Quarter, as it moves back into the 2013 Yearly lows, that aligns with the Yearly 50% level in 2014.